openapi: 3.0.1 info: title: Market Connect Order Entry API description: "**The Market Connect – Order Entry API** enables external distribution platforms and partner systems to electronically\ \ initiate, manage, and submit life insurance and annuity applications through a unified digital workflow. Leveraging\ \ pre-populated data from existing quotes and suitability assessments, the API supports progressive save-and-resume capabilities,\ \ end-to-end order capture, automated validation, real-time application status tracking, robust error handling, and streamlined\ \ processing.\n\n## Version History\n- **`1.0.3` (Latest)**\n - Added optional ACORD-aligned `prefill` node to the create-transaction\ \ request, enabling pre-population of party and product fields.\n - Added optional `illustrationId`, `accountNumber`,\ \ and `externalTransactionId` fields to the create-transaction request.\n- **`1.0.2`**\n - Added signer-status, signer-update,\ \ cancel-ceremony, and e-signature email-retrigger capabilities.\n - Added reviewer approval, decline, and termination\ \ actions, plus enhanced attachment metadata and upload/delete handling.\n - Added HTTP 422 business-validation responses,\ \ stricter request/control-type validation, optional opportunity IDs, and cache reliability fixes.\n- **`1.0.1`**\n -\ \ Expanded the OpenAPI specification with environment URLs, OpenID Connect security, and Kong integration metadata.\n\ \ - Added attachment, comments, and product-pricing operations.\n - Added e-signature recipient and submission workflows\ \ and full-blueprint transaction updates.\n- **`1.0.0`**\n - Added transaction submission and Life product blueprint\ \ processing.\n - Enabled the enhanced single-blueprint workflow without requiring a client-provided step name.\n -\ \ Expanded validation errors, conditional visibility, nested sections, custom controls, and bearer-token forwarding.\n\ - **`0.9.0`**\n - Added authorization checks through FGA and refined the Market Connect Order Entry route structure.\n\ \ - Introduced create, retrieve, and progressive-save support for single-blueprint transactions.\n - Improved life and\ \ annuity transaction identification and service architecture.\n- **`0.8.0`**\n - Introduced transaction creation and\ \ the initial server-driven order-entry workflow.\n - Added blueprint and question-data schemas for beneficiary, payment,\ \ visibility, and optional-condition use cases.\n - Standardized validation and enterprise error-response structures\ \ in the API specification.\n\n## Overview\nThe API provides a single workflow for creating and processing life insurance\ \ and annuity applications. Clients can start a transaction using quote and suitability data, retrieve the application\ \ blueprint along with any saved responses, capture and update applicant information, validate the application, submit\ \ it for processing, and track its status. The blueprint defines the application structure, including sections, fields,\ \ validation rules, conditional logic, and navigation, so clients can build the application experience without hardcoding\ \ these elements.\n\n## Headless Support\nThe API is designed to support headless integrations and is independent of any\ \ specific user interface. Distribution platforms can use the server-provided blueprint to build their own web, mobile,\ \ or advisor experiences without embedding a Zinnia-hosted UI. The client is responsible for how the application is presented\ \ to the user, while the API manages the transaction state, saved responses, business validations, submission, and status\ \ updates. For clients that prefer a prebuilt experience, Zinnia UI components are also available.\n\n## Authentication\n\ All endpoints require a JWT bearer token in the `Authorization` header (`Authorization: Bearer {token}`). Tokens are issued\ \ by Auth0; contact your Zinnia onboarding representative for credentials.\n\n## Base URLs\n- Development: `https://dev.api.zinnia.io`\n\ - QA: `https://qa.api.zinnia.io`\n- UAT: `https://uat.api.zinnia.io`\n- Production: provided per integration agreement\n\ \n## Versioning\nThe API is versioned in the path (`/market-connect/order-entry/v1/...`). Breaking changes are released\ \ under a new major version segment; non-breaking additions ship within the existing version.\n\n## Error Handling\nError\ \ responses conform to the standard `ErrorResponse` schema and include a stable error code (`ErrorInfo.code` enum), a\ \ human-readable message, optional diagnostic details, and a timestamp. For endpoints that return HTTP 200 with partial\ \ success, application-level issues are reported in the `errors` array of the `TransactionResponse`. For transaction update\ \ requests that fail upstream business validation, the API returns HTTP 422 (Unprocessable Entity) with detailed validation\ \ errors in the `validationErrors` array.\n\n## Getting Started\n1. Acquire a JWT token from Auth0.\n2. `POST /market-connect/order-entry/v1/transaction`\ \ with `state` and `cusip` to create a transaction.\n3. `GET /market-connect/order-entry/v1/transaction/{transactionId}`\ \ to fetch the blueprint and data.\n4. `PUT /market-connect/order-entry/v1/transaction/{transactionId}` to save answers;\ \ the API determines the step from the blueprint state.\n5. `POST /market-connect/order-entry/v1/transaction/{transactionId}/submit`\ \ to submit the completed transaction.\n6. `POST /market-connect/order-entry/v1/ReviewerAction` with `action` and `transactionId`\ \ when a reviewer approves, declines, or terminates a case in the Zinnia UI." termsOfService: https://zinnia.com/terms contact: name: API Support email: orderentrysupport@zinnia.com license: name: Proprietary url: https://zinnia.com/terms version: 1.0.3 servers: - url: https://dev.api.zinnia.io - url: https://qa.api.zinnia.io - url: https://uat.api.zinnia.io paths: /market-connect/order-entry/v1/attachment/{transactionId}: get: tags: - Attachment summary: Retrieves the attachment payload (documents, required documents and rules) for a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```NOT_FOUND``` - No attachments were found for the specified\ \ transaction.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted\ \ request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR``` - An unexpected internal\ \ system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: getAttachment parameters: - name: transactionId in: path description: Unique identifier assigned when the Order Entry transaction is created. Resolves to the internal transaction; caller must be authorized for this transaction. required: true schema: type: string example: '1125715' responses: '200': description: Returns the attachment payload content: application/json: schema: $ref: '#/components/schemas/AttachmentResponse' examples: with-documents: summary: Attachments with uploaded files description: Includes documents array entries with documentId (EDS) and documentSize in bytes. value: transactionId: '1125715' distributorCode: ABCD carrierCode: ABCD sourceSystem: AnnuityNet caseId: CA0000188538 data: additionalDocumentTypes: - attachmentType: [] documentType: - Wet-signed Paperwork - Supporting Documents - Trust Certification - Green Card - Driver License – Proof of Age - Illustration - POA Paperwork - Check Deposit Form formType: [] documentRules: - conditions: Owner age < 65 key: PROOF_OF_AGE message: Proof of age documentation may be required. value: optional documents: - documentType: ESIGNATURE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM.pdf uploadDate: 04/06/2026 11:22:05 PM documentId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 documentSize: 9000000 attachmentType: null formType: null - documentType: DRIVER LICENSE – PROOF OF AGE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM1.pdf uploadDate: 04/06/2026 11:26:07 PM documentId: b2c3d4e5-f6a7-8901-bcde-f12345678901 documentSize: 10000000 attachmentType: null formType: null requiredDocuments: - attachmentType: APP displayName: Signed application documentType: APPLICATION formType: APP_FULL message: Upload the fully signed application prior to submission. '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: abc errors: - code: INVALID_TRANSACTION_ID description: Invalid transaction ID provided details: Transaction ID abc is not valid timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1125715' errors: - code: NOT_FOUND description: Attachments not found details: The requested attachments could not be found timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1125715' errors: - code: UPSTREAM_SERVICE_ERROR description: Attachment service error details: Failed to get attachments timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/attachment: post: tags: - Attachment summary: Ingests an EDS document attachment notification for a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```NOT_FOUND``` - The specified transaction was not found.\n\ \n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted request rate\ \ or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR``` - An unexpected internal system error\ \ occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR``` - An upstream\ \ dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n- ```SERVICE_UNAVAILABLE```\ \ - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway Timeout**\n \n- ```UPSTREAM_TIMEOUT```\ \ - A required downstream service did not respond within the configured timeout.\n\n#### Standard Error Response\n\ \nAll error responses conform to the standard ```ErrorResponse``` schema and include:\n\n- A stable error code from\ \ ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional diagnostic details, when applicable.\n- A timestamp\ \ indicating when the error occurred.\nThis consistent format enables clients to implement standardized error processing,\ \ logging, and troubleshooting across all Order Entry API endpoints." operationId: ingestAttachmentDocument requestBody: description: The document ingestion payload. content: application/json: schema: required: - transactionId - documentId - sourceSystem - action allOf: - $ref: '#/components/schemas/IngestAttachmentDocumentRequest' example: transactionId: '123456' documentId: 6a3c4358bd44a9000c8d140e sourceSystem: AnnuityNet action: added examples: document-added: summary: Document added description: A new EDS document was added for the transaction. value: transactionId: '123456' documentId: 6a3c4358bd44a9000c8d140e sourceSystem: AnnuityNet action: added document-deleted: summary: Document deleted description: An EDS document was removed from the transaction. value: transactionId: '123456' documentId: 6a3c4358bd44a9000c8d140e sourceSystem: LifeSpeed action: deleted required: true responses: '200': description: Returns the ingestion result envelope content: application/json: schema: $ref: '#/components/schemas/IngestAttachmentDocumentResponse' example: caseId: CA0000188538 isSuccess: true message: Attachment document ingested successfully. status: Success '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '123456' errors: - code: VALIDATION_ERROR description: Invalid source system provided details: sourceSystem must be AnnuityNet or LifeSpeed timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '123456' errors: - code: UPSTREAM_SERVICE_ERROR description: Attachment service error details: Failed to ingest attachment document timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/comments: post: tags: - Comments summary: Saves a comment against the specified transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request body failed\ \ validation or required fields are missing.\n- ```INVALID_TRANSACTION_ID``` - The supplied transaction ID is invalid\ \ (not a positive integer).\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access\ \ token is missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user\ \ is not authorized to access this resource.\n\n- **404 Not Found**\n \n- ```NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: saveComment requestBody: description: The comment payload to save. content: application/json: schema: allOf: - $ref: '#/components/schemas/SaveCommentRequest' example: appSubIndicator: App commentSource: OrderEntryUI commentText: Customer requested a follow-up call before submission. statusAtStep: InProgress statusDisplayName: In Progress stepTitle: Owner Information transactionId: '1125715' required: true responses: '200': description: Returns the save comment envelope content: application/json: schema: $ref: '#/components/schemas/SaveCommentResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' delete: tags: - Comments summary: Deletes a comment from a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request body failed\ \ validation, required fields are missing, or the comment ID is invalid.\n- ```INVALID_TRANSACTION_ID``` - The supplied\ \ transaction ID is invalid (not a positive integer).\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication\ \ failed or the access token is missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The\ \ authenticated user is not authorized to access this resource.\n\n- **404 Not Found**\n \n- ```NOT_FOUND``` -\ \ No comment exists for the specified comment ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED```\ \ - The client has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: deleteComment requestBody: description: The comment and transaction identifiers for the comment to delete. content: application/json: schema: allOf: - $ref: '#/components/schemas/DeleteCommentRequest' example: commentId: '54321' transactionId: '1125715' required: true responses: '200': description: Returns the delete comment envelope content: application/json: schema: $ref: '#/components/schemas/DeleteCommentResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/comments/{transactionId}: get: tags: - Comments summary: Retrieves the comments for a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```INVALID_TRANSACTION_ID``` - The supplied transaction\ \ ID is invalid (not a positive integer).\n- ```VALIDATION_ERROR``` - Pagination parameters are invalid (both page\ \ and pageSize must be supplied together; page must be ≥ 1; pageSize must be between 1 and 100).\n\n- **401 Unauthorized**\n\ \ \n- ```UNAUTHORIZED``` - Authentication failed or the access token is missing, expired, or invalid.\n\n- **403\ \ Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized to access this resource.\n\n- **404\ \ Not Found**\n \n- ```NOT_FOUND``` - No comments exist for the specified transaction ID.\n\n- **429 Too Many Requests**\n\ \ \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted request rate or quota.\n\n- **500 Internal\ \ Server Error**\n \n- ```UNEXPECTED_ERROR``` - An unexpected internal system error occurred while processing the\ \ request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR``` - An upstream dependency returned an invalid\ \ or unsuccessful response.\n\n- **503 Service Unavailable**\n \n- ```SERVICE_UNAVAILABLE``` - The service or a\ \ required dependency is temporarily unavailable.\n\n- **504 Gateway Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A\ \ required downstream service did not respond within the configured timeout.\n\n#### Standard Error Response\n\nAll\ \ error responses conform to the standard ```ErrorResponse``` schema and include:\n\n- A stable error code from ```ErrorInfo.code```.\n\ - A human-readable error message.\n- Optional diagnostic details, when applicable.\n- A timestamp indicating when\ \ the error occurred.\nThis consistent format enables clients to implement standardized error processing, logging,\ \ and troubleshooting across all Order Entry API endpoints." operationId: getComments parameters: - name: transactionId in: path description: Unique identifier of the transaction (positive integer encoded as a string). required: true schema: type: string - name: page in: query description: Optional 1-based page number. When omitted with pageSize, all comments are returned. schema: type: integer description: 1-based page number. Omit both page and pageSize to return all comments. format: int32 - name: pageSize in: query description: Optional page size (1–100). When omitted with page, all comments are returned. schema: type: integer description: Number of comments per page (1–100). Omit both page and pageSize to return all comments. format: int32 responses: '200': description: Returns the comments envelope content: application/json: schema: $ref: '#/components/schemas/GetCommentsResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/dataset: post: tags: - Dataset summary: Gets dataset values for a dependent control based on the provided payload. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded\ \ the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR``` - An unexpected\ \ internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: getDataset requestBody: content: application/json: schema: $ref: '#/components/schemas/DatasetRequest' example: transactionId: '1064187' stepName: CarrierProductSelection fieldId: '504436' Transaction.Parameters["CarrierID"].Value: CARRIER-001 Transaction.SolicitationState: Alabama required: true responses: '200': description: Returns the dataset payload content: application/json: schema: $ref: '#/components/schemas/DatasetResponse' examples: success: summary: Successful lookup description: Status = "Success" with Data containing a JSON-encoded array of options. value: Data: '[{"Name":"Protected Deferred Annuity","Value":"223985"}]' InstanceId: 504436 Message: DataSet contents retrieved successfully Status: Success item-not-found: summary: Dataset item not found description: Business-level failure where the upstream service recognizes the request but has no matching dataset. InstanceId is present; Data is an empty array string. value: Data: '[]' InstanceId: 1064416 Message: Error retrieving dataset contents. Status: ItemNotFoundException`2 null-reference: summary: Backend exception (no dataset context) description: Low-level exception from the upstream service. InstanceId and Data are absent because no dataset context was resolved. value: Message: Object reference not set to an instance of an object. Status: NullReferenceException '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/esignature/{transactionId}: get: tags: - Esignature summary: Retrieves the e-signature signer list for a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: getEsignature parameters: - name: transactionId in: path description: Unique identifier assigned when the Order Entry transaction is created. Resolves to the internal transaction; caller must be authorized for this transaction. required: true schema: type: string example: '1064752' responses: '200': description: Returns the e-signature signer payload content: application/json: schema: $ref: '#/components/schemas/EsignatureResponse' examples: success: summary: Signers retrieved description: success = true with signers from upstream (signerAccessCode and signerAuthMethod are string arrays). sessionExpired is consumed upstream-only and not returned. value: success: true message: Signer details retrieved successfully. signers: - recipientId: '11306862' signerName: EE EE signerEntityRole: PrimaryOwner signerEmail: anannya.gupta@everglades.com signerSequence: '1' signerAccessCode: [] signerAuthMethod: - Phone - SMS signerCountryCode: '1' signerPhoneNo: '8650827071' - recipientId: '11306935' signerName: RR RR signerEntityRole: AgentOfRecord signerEmail: '' signerSequence: '2' signerAccessCode: [] signerAuthMethod: - Phone - SMS signerCountryCode: '1' signerPhoneNo: '8650827071' business-failure: summary: Upstream business failure description: success = false with a user-safe message and an empty signers array. value: success: false message: Unable to load e-signature signers for this transaction. signers: [] '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '123' errors: - code: INVALID_TRANSACTION_ID description: Invalid transaction ID provided details: Transaction ID abc is not valid timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1064752' errors: - code: NOT_FOUND description: Resource not found details: E-signature signers not found for transaction 1064752 timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1064752' errors: - code: UPSTREAM_SERVICE_ERROR description: E-signature service error details: Failed to get e-signature signers timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/esignature/{transactionId}/signer-status: get: tags: - Esignature summary: Retrieves DocuSign signer status for each recipient on a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: getEsignatureSignerStatus parameters: - name: transactionId in: path description: Unique identifier assigned when the Order Entry transaction is created. Resolves to the internal transaction; caller must be authorized for this transaction. required: true schema: type: string example: '1064752' responses: '200': description: Returns the signer status payload content: application/json: schema: $ref: '#/components/schemas/EsignatureSignerStatusResponse' examples: success: summary: Signer status retrieved description: success = true with per-recipient signerStatus and routing fields. value: success: true signers: - recipientId: '11306862' signerName: EE EE1 signerStatus: Needs to Sign signerEmail: anannya.gupta@everglades.com dateOfAction: '2026-01-12T14:22:00' signerAuthMethod: Phone signerCountryCode: '1' signerPhoneNo: '8650827071' - recipientId: '11306935' signerName: RR RR signerStatus: Waiting for Other Signer(s) signerEmail: '' dateOfAction: '' signerAuthMethod: SMS signerCountryCode: '1' signerPhoneNo: '8650827071' business-failure: summary: Upstream business failure description: success = false with an empty signers array. value: success: false signers: [] '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '123' errors: - code: INVALID_TRANSACTION_ID description: Invalid transaction ID provided details: Transaction ID abc is not valid timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1064752' errors: - code: NOT_FOUND description: Resource not found details: E-signature signer status not found for transaction 1064752 timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1064752' errors: - code: UPSTREAM_SERVICE_ERROR description: E-signature service error details: Failed to get e-signature signer status timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/esignature: post: tags: - Esignature summary: Submits the Order Entry case for e-signature with the configured signer roster. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: submitEsignature requestBody: description: 'Case submission payload: transaction to submit and the final DocuSign signer roster (selected auth method per signer).' content: application/json: schema: allOf: - $ref: '#/components/schemas/SaveEsignatureRequest' example: transactionId: 1131068 signers: - recipientId: '11306862' signerAccessCode: '' signerAuthMethod: Phone signerCountryCode: '1' signerEmail: anannya.gupta@everglades.com signerEntityRole: PrimaryOwner signerName: EE EE1 signerPhoneNo: '8650827071' signerSequence: '1' - recipientId: '11306935' signerAccessCode: '' signerAuthMethod: Phone signerCountryCode: '1' signerEmail: '' signerEntityRole: AgentOfRecord signerName: RR RR signerPhoneNo: '8650827071' signerSequence: '2' example: transactionId: 1131068 signers: - recipientId: '11306862' signerAccessCode: '' signerAuthMethod: Phone signerCountryCode: '1' signerEmail: anannya.gupta@everglades.com signerEntityRole: PrimaryOwner signerName: EE EE1 signerPhoneNo: '8650827071' signerSequence: '1' - recipientId: '11306935' signerAccessCode: '' signerAuthMethod: Phone signerCountryCode: '1' signerEmail: '' signerEntityRole: AgentOfRecord signerName: RR RR signerPhoneNo: '8650827071' signerSequence: '2' required: true responses: '200': description: Returns the case submission result envelope content: application/json: schema: $ref: '#/components/schemas/SaveEsignatureResponse' examples: success: summary: Case submitted description: success = true when the case was submitted to DocuSign for e-signature. value: success: true message: Case submitted for e-signature successfully. business-failure: summary: Submission rejected description: success = false when upstream validation or business rules block submission. value: success: false message: Unable to submit case for e-signature. Verify signer contact details and try again. '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: VALIDATION_ERROR description: Invalid request body details: At least one signer is required to submit the case for e-signature timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: NOT_FOUND description: Resource not found details: Transaction 1131068 could not be submitted for e-signature timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: UPSTREAM_SERVICE_ERROR description: E-signature service error details: Failed to submit case for e-signature timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/esignature/cancel-ceremony: post: tags: - Esignature summary: Cancels the e-signature ceremony for a case (voids the DocuSign envelope and returns the case to Pending upstream). description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: cancelEsignatureCeremony requestBody: description: Identifies the case whose e-signature ceremony should be canceled (void DocuSign; case returns to Pending). content: application/json: schema: allOf: - $ref: '#/components/schemas/CancelEsignatureCeremonyRequest' example: transactionId: '1131068' example: transactionId: '1131068' required: true responses: '200': description: Returns the cancel result envelope content: application/json: schema: $ref: '#/components/schemas/CancelEsignatureCeremonyResponse' examples: success: summary: Ceremony canceled description: success = true when DocuSign was voided and the case was set to Pending. value: success: true message: E-signature ceremony canceled; case is Pending. business-failure: summary: Cancel rejected description: success = false when upstream rules block canceling the ceremony. value: success: false message: The e-signature ceremony cannot be canceled in its current state. '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: abc errors: - code: INVALID_TRANSACTION_ID description: Invalid transaction ID provided details: Transaction ID abc is not valid timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: NOT_FOUND description: Resource not found details: E-signature ceremony cancel not found for transaction 1131068 timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: UPSTREAM_SERVICE_ERROR description: E-signature service error details: Failed to cancel e-signature ceremony timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/esignature/retrigger-email-notification: post: tags: - Esignature summary: Retriggers the DocuSign e-signature email notification for a case (only when e-signature is in progress upstream). description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: retriggerEsignatureEmailNotification requestBody: description: Identifies the case whose DocuSign signing notification should be resent (in-progress e-sign only). content: application/json: schema: allOf: - $ref: '#/components/schemas/RetriggerEsignatureEmailNotificationRequest' example: transactionId: '1131068' example: transactionId: '1131068' required: true responses: '200': description: Returns the retrigger result envelope content: application/json: schema: $ref: '#/components/schemas/RetriggerEsignatureEmailNotificationResponse' examples: success: summary: Notification retriggered description: success = true when the signing email was queued or sent again. value: success: true message: Notification successfully triggered. not-in-progress: summary: E-sign not in progress description: success = false when the envelope is not in a state that allows retrigger (upstream message). value: success: false message: E-signature is not in progress; notification cannot be retriggered. '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: xyz errors: - code: INVALID_TRANSACTION_ID description: Invalid transaction ID provided details: Transaction ID xyz is not valid timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: NOT_FOUND description: Resource not found details: E-signature email notification retrigger not found for transaction 1131068 timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: UPSTREAM_SERVICE_ERROR description: E-signature service error details: Failed to retrigger e-signature email notification timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/esignature/update-signer: post: tags: - Esignature summary: Updates signer email or phone for a case while e-signature is pending upstream. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: updateEsignSignerDetails requestBody: description: Transaction ID and signer rows with corrected email and/or phone while e-signature is pending upstream. content: application/json: schema: allOf: - $ref: '#/components/schemas/UpdateEsignSignerDetailsRequest' example: transactionId: 1131068 signers: - recipientId: '11306862' signerEmail: corrected.email@everglades.com signerSequence: '1' signerAuthMethod: Phone signerCountryCode: '1' signerPhoneNo: '8650827071' example: transactionId: 1131068 signers: - recipientId: '11306862' signerEmail: corrected.email@everglades.com signerSequence: '1' signerAuthMethod: Phone signerCountryCode: '1' signerPhoneNo: '8650827071' required: true responses: '200': description: Returns the update result envelope content: application/json: schema: $ref: '#/components/schemas/UpdateEsignSignerDetailsResponse' examples: success: summary: Signer details updated description: success = true when corrected contact details were saved upstream. value: success: true message: Signer contact details updated successfully. business-failure: summary: Update rejected description: success = false when e-sign is not pending or upstream validation fails. value: success: false message: Signer details cannot be updated unless e-signature is pending. '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: VALIDATION_ERROR description: Invalid request body details: At least one signer is required timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: NOT_FOUND description: Resource not found details: E-signature signer update not found for transaction 1131068 timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1131068' errors: - code: UPSTREAM_SERVICE_ERROR description: E-signature service error details: Failed to update e-signature signer details timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/health: get: tags: - Health summary: Returns a simple health status indicating the API process is running. description: Returns a simple health status. No authentication required. operationId: getHealth responses: '200': description: API is healthy /market-connect/order-entry/v1/productpricing/{transactionId}: get: tags: - ProductPricing summary: Retrieves the product pricing payload for a transaction. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is\ \ missing, expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to access this resource.\n\n- **404 Not Found**\n \n- ```NOT_FOUND``` - No pricing was found for the specified\ \ transaction.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted\ \ request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR``` - An unexpected internal\ \ system error occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints." operationId: getProductPricing parameters: - name: transactionId in: path description: Unique identifier assigned when the Order Entry transaction is created. Resolves to the internal transaction; caller must be authorized for this transaction. required: true schema: type: string example: '1064752' responses: '200': description: Returns the product pricing payload content: application/json: schema: $ref: '#/components/schemas/ProductPricingResponse' examples: success: summary: Pricing retrieved description: isSuccess = true with productFees, featureFees, fundFees, surrenderCharges, and netManagementFees in data. value: caseId: OE-CASE-10001 transactionId: '1064752' data: isApplicationTransaction: true isVariableAnnuity: true showMarketValueAdjustment: false showNetManagementFee: true productFees: - feeTypeLabel: 'Base M&E charges:' feeName: M&E feeValue: 0.90% isDefaultType: false - feeTypeLabel: 'Annual Contract Amount:' feeName: Contract fee feeValue: $120.00 isDefaultType: false featureFees: - featureName: Lifetime income rider feeValues: - 0.35% - $25 annual riderModifiedChargeSchedule: - year: '1' charge: 2.00% - year: '2' charge: 1.50% fundFees: - fundName: Sample Index Fund percentageDisplay: 0.85% minPct: 0.50% maxPct: 1.25% amountDisplay: '' minAmt: '' maxAmt: '' isValueAdjusted: false surrenderCharges: - year: '1' charge: 8% - year: '2' charge: 7% - year: '3' charge: 6% netManagementFees: - fundName: Sample Index Fund totalFeePercentage: 1.10% isSuccess: true message: Success status: Success business-failure: summary: Upstream business failure description: isSuccess = false with status Failure; data is an empty pricing object. value: caseId: null transactionId: '1064752' data: isApplicationTransaction: false isVariableAnnuity: false showMarketValueAdjustment: false showNetManagementFee: false productFees: [] featureFees: [] fundFees: [] surrenderCharges: [] netManagementFees: [] isSuccess: false message: Product pricing is not available for this transaction. status: Failure '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: abc errors: - code: INVALID_TRANSACTION_ID description: Invalid transaction ID provided details: Transaction ID abc is not valid timestamp: '2026-05-18T14:30:00.0000000Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1064752' errors: - code: NOT_FOUND description: Resource not found details: Product pricing not found for transaction 1064752 timestamp: '2026-05-18T14:30:00.0000000Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '1064752' errors: - code: UPSTREAM_SERVICE_ERROR description: Product pricing service error details: Failed to get product pricing timestamp: '2026-05-18T14:30:00.0000000Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/revieweraction: post: tags: - ReviewerAction summary: Executes a reviewer action for the given transaction (forwards to the product order-entry service). description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n- ```INVALID_TRANSACTION_ID``` - The supplied transaction ID is not a valid value.\n\n- **401 Unauthorized**\n\ \ \n- ```UNAUTHORIZED``` - Authentication failed or the access token is missing, expired, or invalid.\n\n- **403\ \ Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized to access this resource.\n\n- **404\ \ Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists for the specified transaction ID.\n\n\ - **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted request rate\ \ or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR``` - An unexpected internal system error\ \ occurred while processing the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR``` - An upstream\ \ dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n- ```SERVICE_UNAVAILABLE```\ \ - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway Timeout**\n \n- ```UPSTREAM_TIMEOUT```\ \ - A required downstream service did not respond within the configured timeout.\n\n#### Standard Error Response\n\ \nAll error responses conform to the standard ```ErrorResponse``` schema and include:\n\n- A stable error code from\ \ ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional diagnostic details, when applicable.\n- A timestamp\ \ indicating when the error occurred.\nThis consistent format enables clients to implement standardized error processing,\ \ logging, and troubleshooting across all Order Entry API endpoints." operationId: reviewerAction requestBody: description: Action and transaction identifier. content: application/json: schema: $ref: '#/components/schemas/ReviewerActionRequest' required: true responses: '200': description: Returns the reviewer action outcome content: application/json: schema: $ref: '#/components/schemas/ReviewerActionResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/transaction: post: tags: - Transaction summary: Create the Order Entry transaction. Routes to appropriate service based on CUSIP. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - Input validation failed\ \ (ModelState errors).\n- ```INVALID``` - Invalid input parameters.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED```\ \ - Authentication failed or token is invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - User does not have\ \ permission to create transactions.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```TRANSACTION_CREATION_FAILED```\ \ - Transaction creation failed at service level.\n- ```TRANSACTION_ID_NOT_FOUND``` - Service did not return a transaction\ \ ID.\n- ```FIRST_STEP_SETUP_FAILED``` - First step initialization failed (breadcrumb, payload creation, or save).\n\ - ```JSON_PARSE_ERROR``` - Failed to parse service response.\n- ```BUILD_BLUEPRINT_ERROR``` - Error building blueprint\ \ after creation.\n- ```UNEXPECTED_ERROR``` - Unexpected system error.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR```\ \ - An upstream dependency returned an invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n\ - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable.\n\n- **504 Gateway\ \ Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured\ \ timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard ```ErrorResponse``` schema\ \ and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional\ \ diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\nThis consistent format\ \ enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry\ \ API endpoints.\n\n#### Success Response\n\nOn success, returns a TransactionResponse with:\n\n- **TransactionId**:\ \ The newly created transaction ID\n- **CaseId**: The case identifier returned by the upstream product service (may\ \ be null until the case is fully created)\n- **Data**: Initial transaction field data keyed by question ID\n- **Blueprint**:\ \ Complete section and field definitions for the new transaction\n- **Subscribers**: Reactive subscriber definitions\ \ consumed by the UI to drive dependent dataset lookups\n- **Errors**: Empty array on success (or absent)\n#### Input\ \ Validation\n\nThe following fields are validated:\n\n- **State**: Required two-letter uppercase code from the documented\ \ US state, territory, and military mail code enum\n- **CUSIP**: Required configured product identifier containing\ \ exactly nine uppercase alphanumeric characters; pattern ```^[0-9A-Z]{9}$```\n- **OpportunityId**: Optional UUID\ \ used to associate the transaction with a sales opportunity\n#### Service Routing\n\nThe API automatically routes\ \ to the appropriate service based on CUSIP:\n\n- **Annuity Service**: Configured Annuity CUSIPs\n- **Life Service**:\ \ Configured Life CUSIPs\n#### Transaction Creation Flow\n\nThe transaction creation process includes:\n\n- Validate\ \ input parameters\n- Determine service routing based on CUSIP\n- Create transaction via appropriate service (Life\ \ or Annuity)\n- Get breadcrumb to determine first step\n- Retrieve order entry values for first step\n- Create and\ \ save first step payload\n- Build complete blueprint for the transaction\n#### First Step Setup Failures\n\nThe ```FIRST_STEP_SETUP_FAILED```\ \ error can occur when:\n\n- No breadcrumb steps are found\n- First step name is null or empty\n- Order entry values\ \ are null or empty\n- First step payload creation fails\n- First step data save operation fails\n- First step save\ \ response indicates failure" operationId: createTransaction requestBody: description: The input data for creating a new transaction content: application/json: schema: required: - state - cusip allOf: - $ref: '#/components/schemas/CreateTransactionRequest' examples: minimal: summary: Minimal — state and cusip only value: state: NC cusip: 90353U115 withOpportunity: summary: With opportunity ID value: state: NC cusip: 90353U115 opportunityId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 withIllustrationAndAccount: summary: With illustration ID, account number, and external transaction ID value: state: NC cusip: 90353U115 illustrationId: ILL-2024-00001 accountNumber: BR-9876543210 externalTransactionId: TXN-2024-00001 withPrefill: summary: With prefill — owner, annuitant, beneficiary, agent, policy, plan, and product pre-populated value: state: TX cusip: 90353U115 opportunityId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 prefill: messageInformation: businessPurposeTypeCode: '329' sender: AnnuityNet receiver: DIST-PARTNER-001 trackingNumber: 550e8400-e29b-41d4-a716-446655440000 effectiveDate: '2024-01-15T00:00:00+00:00' reference: - id: TXN-2024-00001 source: AnnuityNet description: Zinnia system transaction ID eSignature: 'yes' transactionNumber: TXN-2024-00001 owner: party: legalEntityTypeCode: individual nameBase: givenName: Jane surname: Smith person: birthDate: '1975-04-22' genderCode: F maritalStatusCode: Married citizenshipCode: US residencyStatusCode: resident address: - typeCode: Home addressBase: line1: 123 Main St city: Austin stateOrProvinceCode: TX postalCode: '78701' countryCode: US communication: emailAddress: jane.smith@example.com phone: - phoneTypeCode: Home phoneNumber: '5125550100' - phoneTypeCode: Mobile phoneNumber: '5125550101' partyIdentity: - typeCode: SSN typeId: '***-**-1234' partyRole: - roleCode: owner questionAnswer: - questionCode: mfapEligible answerCode: 'TRUE' annuitant: party: legalEntityTypeCode: individual nameBase: givenName: Jane surname: Smith person: birthDate: '1975-04-22' genderCode: F beneficiary: - legalEntityTypeCode: individual allocation: percent: 100 typeCode: Primary relationship: relationshipToCode: spouse party: nameBase: givenName: John surname: Smith person: birthDate: '1973-11-08' genderCode: M agent: - party: legalEntityTypeCode: individual nameBase: givenName: Robert surname: Jones communication: emailAddress: rjones@firmname.com phone: - phoneTypeCode: Work phoneNumber: '2125550199' partyIdentity: - typeCode: NPN NPN: '12345678' license: jurisdiction: TX effectiveDate: '2020-01-01' expirationDate: '2026-12-31' user: username: rjones questionAnswer: - questionCode: businessUnitCode answerCode: Primary plan: accountDesignationCode: IRA typeCode: qualified planOption: qualifiedPlanTypeCode: IRA qualifiedPlanSubType: traditional policy: effectiveDate: '2024-01-15' questionAnswer: - questionCode: qualifiedRolloverFunded answerCode: 'FALSE' - questionCode: replacementIndicator answerCode: 'FALSE' product: carrierCode: AIG cusip: 90353U115 questionAnswer: - questionCode: surrenderChargeWaiver answerCode: 'TRUE' client: accountNumber: BR-9876543210 questionAnswer: - questionCode: fundsAllowed answerCode: 'TRUE' required: true responses: '201': description: Returns the Order Entry blueprint for the created transaction content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/transaction/{transactionId}: get: tags: - Transaction summary: Retrieves the order entry blueprint and its associated responses for a created life or annuity transaction description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - The request failed input\ \ validation.\n- ```INVALID_TRANSACTION_ID``` - The supplied transaction ID is invalid (less than or equal to zero).\n\ \n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is missing, expired,\ \ or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized to access\ \ the requested transaction.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n- ```NOT_FOUND``` - The requested transaction or blueprint step could not be\ \ found.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted\ \ request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```BUILD_BLUEPRINT_ERROR``` - An error occurred\ \ while generating the order entry blueprint.\n- ```JSON_PARSE_ERROR``` - The system encountered an error while parsing\ \ the transaction response.\n- ```UNEXPECTED_ERROR``` - An unexpected internal system error occurred while processing\ \ the request.\n\n- **502 Bad Gateway**\n \n- ```UPSTREAM_SERVICE_ERROR``` - An upstream dependency returned an\ \ invalid or unsuccessful response.\n\n- **503 Service Unavailable**\n \n- ```SERVICE_UNAVAILABLE``` - The service\ \ or a required dependency is temporarily unavailable.\n\n- **504 Gateway Timeout**\n \n- ```UPSTREAM_TIMEOUT```\ \ - A required downstream service did not respond within the configured timeout.\n\n#### Standard Error Response\n\ \nAll error responses conform to the standard ```ErrorResponse``` schema and include:\n\n- A stable error code from\ \ ```ErrorInfo.code```.\n- A human-readable error message.\n- Optional diagnostic details, when applicable.\n- A timestamp\ \ indicating when the error occurred.\nThis consistent format enables clients to implement standardized error processing,\ \ logging, and troubleshooting across all Order Entry API endpoints.\n\n#### Success Response\n\nOn success, the API\ \ returns a ```TransactionResponse``` containing:\n\n- **transactionId** - The unique identifier for the transaction.\n\ - **caseId** - The identifier for the case created by the upstream product service. This value may be null until the\ \ case has been created successfully.\n- **data** - The current transaction data, with field values keyed by their\ \ corresponding question identifiers.\n- **blueprint** - The complete transaction blueprint, including the sections,\ \ fields, validations, conditional behavior, and metadata required to render the application.\n- **subscribers** -\ \ Reactive subscriber definitions used by the client to drive dynamic field behavior, dependent lookups, and dataset\ \ updates.\n- **errors** - Empty or omitted when the request completes successfully. For partial success or recoverable\ \ business warnings, this array contains the applicable application-level messages." operationId: getTransaction parameters: - name: transactionId in: path description: Unique identifier assigned when an order entry transaction is created required: true schema: type: string responses: '200': description: Returns a product's order entry blueprint with associated answer data content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' put: tags: - Transaction summary: Update the Order Entry transaction data for enhanced blueprint (single-blueprint) transactions. description: 'Used for enhanced blueprint (single-blueprint) transactions where no step name is required. The step is automatically resolved from the product type. #### Error Responses - **400 Bad Request** - ```VALIDATION_ERROR``` - Input validation failed (ModelState errors). - ```INVALID_TRANSACTION_ID``` - Invalid transaction ID provided. - **401 Unauthorized** - ```UNAUTHORIZED``` - Authentication failed or token is invalid. - **403 Forbidden** - ```FORBIDDEN``` - User does not have permission to update this transaction. - **404 Not Found** - ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists for the specified transaction ID. - ```NOT_FOUND``` - The requested transaction could not be found. - **422 Unprocessable Entity** - Upstream business validation failed after save — response includes ```validationErrors``` and a ```validation-messages``` blueprint section. - **429 Too Many Requests** - ```RATE_LIMIT_EXCEEDED``` - The client has exceeded the permitted request rate or quota. - **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. - **502 Bad Gateway** - ```UPSTREAM_SERVICE_ERROR``` - An upstream dependency returned an invalid or unsuccessful response. - **503 Service Unavailable** - ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily unavailable. - **504 Gateway Timeout** - ```UPSTREAM_TIMEOUT``` - A required downstream service did not respond within the configured timeout. #### Standard Error Response All error responses conform to the standard ```ErrorResponse``` schema and include: - A stable error code from ```ErrorInfo.code```. - A human-readable error message. - Optional diagnostic details, when applicable. - A timestamp indicating when the error occurred. This consistent format enables clients to implement standardized error processing, logging, and troubleshooting across all Order Entry API endpoints.' operationId: updateTransactionEnhancedBlueprint parameters: - name: transactionId in: path description: The unique identifier for the transaction required: true schema: type: string requestBody: description: The input data for updating the transaction (data object matching GET/Create response shape) content: application/json: schema: $ref: '#/components/schemas/TransactionDataQuestionRowsMap' examples: simple-fields: summary: Simple field update description: Plain scalar fields (dropdown, phone) keyed by question ID. value: '259726': - id: '259726' type: dropdown questionText: Account designation questionSubText: Account designation displayValue: Owner value: Owner index: 0 prefilled: true collection-fields: summary: Collection field update description: Repeatable collection field carrying nested per-item data. value: 489445_Line1: - id: 489445_Line1 type: input questionText: Address Line 1 questionSubText: '' displayValue: 12108 Jefferson CT value: 12108 Jefferson CT index: 0 489445_City: - id: 489445_City type: input questionText: City questionSubText: '' displayValue: Alpharetta value: Alpharetta index: 0 489445_State: - id: 489445_State type: dropdown questionText: State questionSubText: '' displayValue: Georgia value: GA index: 0 mixed-fields: summary: Mixed field types description: Combination of radio, date (ISO 8601), collection, and email inputs. value: '486959': - id: '486959' type: date questionText: Date of birth questionSubText: '' displayValue: '1989-10-13' value: '1989-10-13' index: 0 '488044': - id: '488044' type: radio questionText: Gender questionSubText: '' displayValue: Male value: Male index: 0 '503972': - id: '503972' type: input questionText: Email address questionSubText: '' displayValue: john.doe@example.com value: john.doe@example.com index: 0 489364_FirstName_Mixed: - id: 489364_FirstName_Mixed type: input questionText: First Name questionSubText: '' displayValue: John value: John index: 0 checkboxgroup-fields: summary: Checkbox group description: Checkbox group where value is an array of selected option codes. value: '521349': - id: '521349' type: checkboxgroup questionText: What are your planning needs? questionSubText: Select all that apply displayValue: Income Replacement, Retirement Income value: - Income_Replacement - Retirement_Income index: 0 required: true responses: '200': description: Returns the updated Order Entry blueprint or success status content: application/json: schema: $ref: '#/components/schemas/TransactionResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '422': description: If upstream business validation fails after save content: application/json: schema: allOf: - $ref: '#/components/schemas/TransactionResponse' example: transactionId: '1064459' caseId: null data: {} blueprint: sectionBlueprints: [] sectionGroupBlueprints: {} subscribers: [] errors: [] validationErrors: - fieldId: '259726' answerNodeId: Transaction.OwnerType message: Owner type is required. sectionName: EntityOwners - answerNodeId: Transaction.PrimaryOwner.PersonName message: Owner's name is required. sectionName: EntityOwners - answerNodeId: '' message: Please re-visit the contract feature screen. sectionName: OwnerBenefits examples: validation_error: summary: Validation Error (Transaction Validation) description: Transaction validation failed with field-level errors after a successful save. Returns validationErrors (message required; fieldId is optional—echo of ControlID as string, omitted when missing or 0; answerNodeId and sectionName optional when empty). value: transactionId: '1064459' caseId: null data: {} blueprint: sectionBlueprints: [] sectionGroupBlueprints: {} subscribers: [] errors: [] validationErrors: - fieldId: '259726' answerNodeId: Transaction.OwnerType message: Owner type is required. sectionName: EntityOwners - answerNodeId: Transaction.PrimaryOwner.PersonName message: Owner's name is required. sectionName: EntityOwners - answerNodeId: '' message: Please re-visit the contract feature screen. sectionName: OwnerBenefits '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' /market-connect/order-entry/v1/transaction/{transactionId}/submit: post: tags: - Transaction summary: Submit an order entry transaction for processing. description: "#### Error Responses\n\n- **400 Bad Request**\n \n- ```VALIDATION_ERROR``` - Request body is not allowed\ \ (endpoint does not accept a body, including empty ```{}```).\n- ```INVALID_TRANSACTION_ID``` - The supplied transaction\ \ ID is invalid.\n- ```VALIDATION_ERROR``` - The upstream order entry service rejected the submission due to validation\ \ failures.\n\n- **401 Unauthorized**\n \n- ```UNAUTHORIZED``` - Authentication failed or the access token is missing,\ \ expired, or invalid.\n\n- **403 Forbidden**\n \n- ```FORBIDDEN``` - The authenticated user is not authorized\ \ to submit this transaction.\n\n- **404 Not Found**\n \n- ```TRANSACTION_ID_NOT_FOUND``` - No transaction exists\ \ for the specified transaction ID.\n\n- **429 Too Many Requests**\n \n- ```RATE_LIMIT_EXCEEDED``` - The client\ \ has exceeded the permitted request rate or quota.\n\n- **500 Internal Server Error**\n \n- ```UNEXPECTED_ERROR```\ \ - An unexpected internal system error occurred while submitting the transaction.\n\n- **502 Bad Gateway**\n \n\ - ```UPSTREAM_SERVICE_ERROR``` - The upstream product service returned an error while processing the submit request.\n\ \n- **503 Service Unavailable**\n \n- ```SERVICE_UNAVAILABLE``` - The service or a required dependency is temporarily\ \ unavailable.\n\n- **504 Gateway Timeout**\n \n- ```UPSTREAM_TIMEOUT``` - A required downstream service did not\ \ respond within the configured timeout.\n\n#### Standard Error Response\n\nAll error responses conform to the standard\ \ ```ErrorResponse``` schema and include:\n\n- A stable error code from ```ErrorInfo.code```.\n- A human-readable\ \ error message.\n- Optional diagnostic details, when applicable.\n- A timestamp indicating when the error occurred.\n\ This consistent format enables clients to implement standardized error processing, logging, and troubleshooting across\ \ all Order Entry API endpoints." operationId: submitTransaction parameters: - name: transactionId in: path description: The unique identifier for the transaction required: true schema: type: string responses: '200': description: Transaction submitted successfully content: application/json: schema: $ref: '#/components/schemas/SubmitTransactionResponse' '400': description: '`VALIDATION_ERROR` - The request failed input validation. `INVALID_TRANSACTION_ID` - The supplied transaction ID is invalid (less than or equal to zero).' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: VALIDATION_ERROR description: Validation failed for field '$.unknownField' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2025-01-16T13:21:19.4355657Z' '401': description: '`UNAUTHORIZED` - Authentication failed or the access token is missing, expired, or invalid.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' '403': description: '`FORBIDDEN` - The authenticated user is not authorized to access the requested transaction.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: FORBIDDEN description: Access denied details: You do not have permission to access this resource timestamp: '2025-01-16T13:21:19.4355657Z' '404': description: '`TRANSACTION_ID_NOT_FOUND` - No transaction exists for the specified transaction ID. `NOT_FOUND` - The requested transaction or blueprint step could not be found.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: NOT_FOUND description: Resource not found details: The requested resource could not be found timestamp: '2025-01-16T13:21:19.4355657Z' '429': description: '`RATE_LIMIT_EXCEEDED` - The client has exceeded the permitted request rate or quota.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: RATE_LIMIT_EXCEEDED description: Request rate limit exceeded details: The client has exceeded the permitted request rate or quota. timestamp: '2025-01-16T13:21:19.4355657Z' '500': description: '`BUILD_BLUEPRINT_ERROR` - An error occurred while generating the order entry blueprint. `JSON_PARSE_ERROR` - The system encountered an error while parsing the transaction response. `UNEXPECTED_ERROR` - An unexpected internal system error occurred while processing the request.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UNEXPECTED_ERROR description: An unexpected error occurred details: An internal error occurred. Please contact support if the problem persists. timestamp: '2025-01-16T13:21:19.4355657Z' '502': description: '`UPSTREAM_SERVICE_ERROR` - An upstream dependency returned an invalid or unsuccessful response.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_SERVICE_ERROR description: Upstream service error details: An upstream dependency returned an invalid or unsuccessful response. timestamp: '2025-01-16T13:21:19.4355657Z' '503': description: '`SERVICE_UNAVAILABLE` - The service or a required dependency is temporarily unavailable.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: SERVICE_UNAVAILABLE description: Service unavailable details: The service or a required dependency is temporarily unavailable. timestamp: '2025-01-16T13:21:19.4355657Z' '504': description: '`UPSTREAM_TIMEOUT` - A required downstream service did not respond within the configured timeout.' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' example: transactionId: '12345' errors: - code: UPSTREAM_TIMEOUT description: Upstream timeout details: A required downstream service did not respond within the configured timeout. timestamp: '2025-01-16T13:21:19.4355657Z' components: schemas: AdditionalDocumentType: type: object properties: attachmentType: type: array items: type: string description: List of attachment type codes nullable: true documentType: type: array items: type: string description: List of document type codes nullable: true formType: type: array items: type: string description: List of form type codes nullable: true additionalProperties: false AttachmentData: type: object properties: additionalDocumentTypes: type: array items: $ref: '#/components/schemas/AdditionalDocumentType' description: Document types the user may optionally upload. nullable: true documentRules: type: array items: $ref: '#/components/schemas/DocumentRule' description: Conditional rules for required or optional documents. nullable: true documents: type: array items: $ref: '#/components/schemas/AttachmentDocument' description: Files already stored for the transaction, including EDS documentId and documentSize in bytes. nullable: true requiredDocuments: type: array items: $ref: '#/components/schemas/RequiredDocument' description: Documents still required before submission. nullable: true additionalProperties: false example: additionalDocumentTypes: - attachmentType: [] documentType: - Wet-signed Paperwork - Supporting Documents - Trust Certification - Green Card - Driver License – Proof of Age - Illustration - POA Paperwork - Check Deposit Form formType: [] documentRules: - conditions: Owner age < 65 key: PROOF_OF_AGE message: Proof of age documentation may be required. value: optional documents: - documentType: ESIGNATURE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM.pdf uploadDate: 04/06/2026 11:22:05 PM documentId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 documentSize: 9000000 attachmentType: null formType: null - documentType: DRIVER LICENSE – PROOF OF AGE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM1.pdf uploadDate: 04/06/2026 11:26:07 PM documentId: b2c3d4e5-f6a7-8901-bcde-f12345678901 documentSize: 10000000 attachmentType: null formType: null requiredDocuments: - attachmentType: APP displayName: Signed application documentType: APPLICATION formType: APP_FULL message: Upload the fully signed application prior to submission. AttachmentDocument: type: object properties: attachmentType: type: string description: Attachment type code when applicable; otherwise null. nullable: true documentType: type: string description: Document type label or code. nullable: true fileName: type: string description: Original file name as uploaded. nullable: true formType: type: string description: Form type code when applicable; otherwise null. nullable: true uploadDate: type: string description: Upload timestamp as returned by the attachment service. nullable: true documentId: type: string description: Electronic document service (EDS) identifier for the uploaded file. nullable: true documentSize: type: integer description: Size of the uploaded file in bytes. format: int64 nullable: true additionalProperties: false example: documentType: ESIGNATURE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM.pdf uploadDate: 04/06/2026 11:22:05 PM documentId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 documentSize: 9000000 attachmentType: null formType: null AttachmentResponse: required: - carrierCode - data - transactionId type: object properties: transactionId: minLength: 1 type: string description: Unique identifier for the Order Entry transaction. carrierCode: minLength: 1 type: string description: Carrier code required to push documents to EDS. distributorCode: type: string description: Optional distributor code. nullable: true sourceSystem: enum: - AnnuityNet - LifeSpeed type: string description: 'Source system identifier. Allowed values: AnnuityNet, LifeSpeed.' nullable: true caseId: type: string description: Case identifier associated with the transaction. nullable: true data: allOf: - $ref: '#/components/schemas/AttachmentData' description: Documents already uploaded, required documents, optional types, and document rules. example: additionalDocumentTypes: - attachmentType: [] documentType: - Wet-signed Paperwork - Supporting Documents - Trust Certification - Green Card - Driver License – Proof of Age - Illustration - POA Paperwork - Check Deposit Form formType: [] documentRules: - conditions: Owner age < 65 key: PROOF_OF_AGE message: Proof of age documentation may be required. value: optional documents: - documentType: ESIGNATURE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM.pdf uploadDate: 04/06/2026 11:22:05 PM documentId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 documentSize: 9000000 attachmentType: null formType: null - documentType: DRIVER LICENSE – PROOF OF AGE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM1.pdf uploadDate: 04/06/2026 11:26:07 PM documentId: b2c3d4e5-f6a7-8901-bcde-f12345678901 documentSize: 10000000 attachmentType: null formType: null requiredDocuments: - attachmentType: APP displayName: Signed application documentType: APPLICATION formType: APP_FULL message: Upload the fully signed application prior to submission. additionalProperties: false example: transactionId: '1125715' distributorCode: ABCD carrierCode: ABCD sourceSystem: AnnuityNet caseId: CA0000188538 data: additionalDocumentTypes: - attachmentType: [] documentType: - Wet-signed Paperwork - Supporting Documents - Trust Certification - Green Card - Driver License – Proof of Age - Illustration - POA Paperwork - Check Deposit Form formType: [] documentRules: - conditions: Owner age < 65 key: PROOF_OF_AGE message: Proof of age documentation may be required. value: optional documents: - documentType: ESIGNATURE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM.pdf uploadDate: 04/06/2026 11:22:05 PM documentId: a1b2c3d4-e5f6-7890-abcd-ef1234567890 documentSize: 9000000 attachmentType: null formType: null - documentType: DRIVER LICENSE – PROOF OF AGE fileName: NAICBuyerGuideFixedDeferredAnnuitiesMTNM1.pdf uploadDate: 04/06/2026 11:26:07 PM documentId: b2c3d4e5-f6a7-8901-bcde-f12345678901 documentSize: 10000000 attachmentType: null formType: null requiredDocuments: - attachmentType: APP displayName: Signed application documentType: APPLICATION formType: APP_FULL message: Upload the fully signed application prior to submission. Blueprint: required: - sectionBlueprints - sectionGroupBlueprints type: object properties: sectionBlueprints: type: array items: $ref: '#/components/schemas/SectionBlueprint' description: An array of sections representing the hierarchical structure of an order entry blueprint, nested from sections to subsections, field groups, and individual fields sectionGroupBlueprints: type: object additionalProperties: $ref: '#/components/schemas/SectionGroupBlueprint' description: Map of section groups keyed by group identifier. Each value assigns sections to their corresponding group. additionalProperties: false CancelEsignatureCeremonyRequest: required: - transactionId type: object properties: transactionId: minLength: 1 type: string description: String form of the transaction (case) id to cancel; must be a positive integer. additionalProperties: false example: transactionId: '1131068' CancelEsignatureCeremonyResponse: type: object properties: success: type: boolean description: True when the DocuSign ceremony was voided and the case returned to Pending upstream. message: type: string description: User-safe message when success is false; may also confirm the outcome when true. nullable: true additionalProperties: false example: success: true message: E-signature ceremony canceled; case is Pending. CommentItem: type: object properties: commentId: type: string description: Unique identifier of the comment (positive integer encoded as a string) nullable: true commentSource: type: string description: Source system or user group that authored the comment nullable: true commentText: type: string description: Free-form comment text nullable: true createdDateTime: type: string description: Date and time the comment was created nullable: true lastUpdatedDateTime: type: string description: Date and time the comment was last updated nullable: true logonID: type: string description: Logon identifier of the user who authored the comment nullable: true statusAtStep: type: string description: Status code of the transaction at the step the comment was added nullable: true statusDisplayName: type: string description: Display name for the status at the step the comment was added nullable: true stepTitle: type: string description: Title of the wizard step the comment was added on nullable: true userName: type: string description: Name of the user who authored the comment nullable: true additionalProperties: false CommentsData: type: object properties: comments: type: array items: $ref: '#/components/schemas/CommentItem' description: List of comments for the current page nullable: true totalCount: type: integer description: Total number of comments for the transaction across all pages format: int32 page: type: integer description: Current page number (1-based). Present when pagination query parameters are supplied. format: int32 nullable: true pageSize: type: integer description: Number of comments per page. Present when pagination query parameters are supplied. format: int32 nullable: true additionalProperties: false CreateTransactionRequest: required: - cusip - state type: object properties: state: $ref: '#/components/schemas/StateCode' cusip: pattern: ^[0-9A-Z]{9}$ type: string description: Configured product CUSIP (9 characters). Uppercase letters and digits only. example: 90353U115 opportunityId: type: string description: Optional opportunity identifier in UUID format. format: uuid nullable: true example: a1b2c3d4-e5f6-7890-abcd-ef1234567890 illustrationId: type: string description: Optional illustration identifier to associate the new transaction with a prior illustration. nullable: true example: ILL-2024-00001 accountNumber: type: string description: Optional account number to associate with the new transaction. nullable: true example: BR-9876543210 externalTransactionId: type: string description: Optional external transaction identifier from the originating system. nullable: true example: TXN-2024-00001 prefill: allOf: - $ref: '#/components/schemas/PrefillRequest' description: Optional ACORD-aligned prefill data to pre-populate party and product fields in the new transaction. additionalProperties: false DatasetRequest: required: - fieldId - stepName - transactionId type: object properties: transactionId: minLength: 1 type: string description: Unique identifier of the transaction (positive integer as a string). stepName: minLength: 1 type: string description: Name of the wizard step containing the dependent control. fieldId: minLength: 1 type: string description: Identifier of the field (control) whose dataset is being requested. additionalProperties: {} DatasetResponse: required: - Message - Status type: object properties: Status: minLength: 1 type: string description: Outcome of the dataset lookup. "Success" on success; otherwise the backend exception type name (e.g. "NullReferenceException", "ItemNotFoundException`2"). Message: minLength: 1 type: string description: Human-readable message describing the outcome. On success a confirmation string; on failure the backend error message. Data: type: string description: Dataset payload serialized as a JSON string. On success, a JSON array of {Name, Value} option objects. On failure, may be "[]" or omitted. nullable: true InstanceId: type: integer description: Identifier of the dataset instance returned by the upstream service. Present for success and most failures; absent for low-level exceptions. format: int64 nullable: true additionalProperties: false DeleteCommentRequest: required: - commentId - transactionId type: object properties: commentId: minLength: 1 pattern: ^[1-9][0-9]*$ type: string description: Unique identifier of the comment to delete (positive integer encoded as a string) transactionId: minLength: 1 pattern: ^[1-9][0-9]*$ type: string description: Unique identifier of the transaction the comment belongs to (positive integer encoded as a string) additionalProperties: false example: commentId: '54321' transactionId: '1125715' DeleteCommentResponse: type: object properties: caseId: type: string description: Case identifier associated with the transaction. Populated on successful deletes. nullable: true isSuccess: type: boolean description: Indicates whether the operation was successful message: type: string description: Human-readable message describing the result nullable: true status: type: string description: Status code of the operation (e.g., "Success", "ValidationError", "Failure") nullable: true additionalProperties: false example: caseId: CA0000188538 isSuccess: true message: Comment deleted successfully status: Success DocumentRule: type: object properties: conditions: type: string description: Conditions under which the rule applies nullable: true key: type: string description: Rule key nullable: true message: type: string description: Rule message shown to the user nullable: true value: type: string description: Rule value nullable: true additionalProperties: false ErrorInfo: required: - code - timestamp type: object properties: code: enum: - VALIDATION_ERROR - INVALID_TRANSACTION_ID - INVALID_STEP_NAME - TRANSACTION_CREATION_FAILED - TRANSACTION_ID_NOT_FOUND - SAVE_TRANSACTION_ERROR - SAVE_TRANSACTION_FAILED - INVALID_RESPONSE_FORMAT - BUILD_BLUEPRINT_ERROR - JSON_PARSE_ERROR - TRANSFORMER_NULL_RESPONSE - EMPTY_BLUEPRINT - UNEXPECTED_ERROR - SERVICE_ERROR - UNAUTHORIZED - FORBIDDEN - NOT_FOUND - RATE_LIMIT_EXCEEDED - UPSTREAM_SERVICE_ERROR - SERVICE_UNAVAILABLE - UPSTREAM_TIMEOUT - FIRST_STEP_SETUP_FAILED - METHOD_NOT_ALLOWED type: string description: Backend error codes returned by the Order Entry API indicating validation failures, transaction issues, blueprint generation errors, authorization errors, or unexpected system failures. description: type: string nullable: true details: type: string nullable: true timestamp: type: string format: date-time additionalProperties: false example: code: VALIDATION_ERROR description: Validation failed for field '$.fieldName' details: The request contains an unrecognized property. Only documented fields are allowed. timestamp: '2024-01-15T10:30:00.000Z' ErrorResponse: required: - errors - transactionId type: object properties: transactionId: minLength: 1 type: string errors: type: array items: $ref: '#/components/schemas/ErrorInfo' additionalProperties: false example: transactionId: '12345' errors: - code: UNAUTHORIZED description: Unauthorized access details: The request requires authentication timestamp: '2025-01-16T13:21:19.4355657Z' EsignatureResponse: type: object properties: success: type: boolean description: True when signers were retrieved successfully. message: type: string description: User-safe message; populated when success is false. nullable: true signers: type: array items: $ref: '#/components/schemas/EsignatureSigner' description: DocuSign recipients for the transaction, ordered by signing sequence. nullable: true additionalProperties: false example: success: true message: Signer details retrieved successfully. signers: - recipientId: '11306862' signerName: EE EE signerEntityRole: PrimaryOwner signerEmail: anannya.gupta@everglades.com signerSequence: '1' signerAccessCode: [] signerAuthMethod: - Phone - SMS signerCountryCode: '1' signerPhoneNo: '8650827071' - recipientId: '11306935' signerName: RR RR signerEntityRole: AgentOfRecord signerEmail: '' signerSequence: '2' signerAccessCode: [] signerAuthMethod: - Phone - SMS signerCountryCode: '1' signerPhoneNo: '8650827071' EsignatureSigner: type: object properties: recipientId: type: string description: DocuSign recipient ID from the recipient proc. nullable: true signerName: type: string description: Display name shown in the signer grid. nullable: true signerEntityRole: type: string description: Entity role (for example PrimaryOwner, AgentOfRecord). nullable: true signerEmail: type: string description: Signer email; may be empty for some roles. nullable: true signerSequence: type: string description: Signing order when routing is sequential. nullable: true signerAccessCode: type: array items: type: string description: Access codes when configured; empty array when none. nullable: true signerAuthMethod: type: array items: type: string description: Array of auth method labels (for example Phone, SMS). nullable: true signerCountryCode: type: string description: Country calling code (default 1 for US). nullable: true signerPhoneNo: type: string description: Phone digits only; stored without dashes in proc. nullable: true additionalProperties: false example: recipientId: '11306862' signerName: EE EE signerEntityRole: PrimaryOwner signerEmail: anannya.gupta@everglades.com signerSequence: '1' signerAccessCode: [] signerAuthMethod: - Phone - SMS signerCountryCode: '1' signerPhoneNo: '8650827071' EsignatureSignerStatus: type: object properties: recipientId: type: string description: DocuSign recipient sequence (RecipientID from proc). nullable: true signerName: type: string description: Display name in the signer grid. nullable: true signerStatus: type: string description: Delivered | Needs to Sign | Needs to View | Waiting for Other Signer(s) | Completed (Signed). nullable: true signerEmail: type: string description: Signer email; may be read-only for AYCO. nullable: true dateOfAction: type: string description: When this recipient last acted or status changed, as returned by upstream (format varies; often empty until an action occurs). nullable: true signerAuthMethod: type: string description: Phone, SMS, or None. nullable: true signerCountryCode: type: string description: Country calling code (default 1 for US; up to ~3 characters). nullable: true signerPhoneNo: type: string description: Digits only (no dashes); typically 10 digits for US display. nullable: true additionalProperties: false example: recipientId: '11306862' signerName: EE EE1 signerStatus: Needs to Sign signerEmail: anannya.gupta@everglades.com dateOfAction: '2026-01-12T14:22:00' signerAuthMethod: Phone signerCountryCode: '1' signerPhoneNo: '8650827071' EsignatureSignerStatusResponse: type: object properties: success: type: boolean description: True when signer status rows were retrieved successfully. signers: type: array items: $ref: '#/components/schemas/EsignatureSignerStatus' description: Per-recipient DocuSign status and contact details for the transaction. nullable: true additionalProperties: false example: success: true signers: - recipientId: '11306862' signerName: EE EE1 signerStatus: Needs to Sign signerEmail: anannya.gupta@everglades.com dateOfAction: '2026-01-12T14:22:00' signerAuthMethod: Phone signerCountryCode: '1' signerPhoneNo: '8650827071' - recipientId: '11306935' signerName: RR RR signerStatus: Waiting for Other Signer(s) signerEmail: '' dateOfAction: '' signerAuthMethod: SMS signerCountryCode: '1' signerPhoneNo: '8650827071' FieldBlueprint: required: - fieldType - id - partName - text - title type: object properties: fieldType: enum: - money - date - information - radio - input - email - dropdown - phone - checkboxgroup - number - checkbox type: string description: 'The type of field displayed for collecting response values: money - Currency input field date - Date selection input field information - Read-only informational text display field radio - Single-selection radio button field input - Free-form text input field email - Email address input field dropdown - Selection field with predefined options phone - Phone number input field checkboxgroup - Checkbox group field for multiple selections number - Number input field for numeric values checkbox - Checkbox field for single selection (value is string)' text: allOf: - $ref: '#/components/schemas/LocalizedText' description: The text associated with a field title, such as descriptions or related notes. Supports localization through language codes (e.g., en, fr) title: allOf: - $ref: '#/components/schemas/LocalizedText' description: The field title in multiple languages. Supports localization through language codes (e.g., en, fr) answerNodeId: type: string description: A unique identifier used to store and infer a field's answer, and to build validation and visibility conditions across the order entry blueprint nullable: true renderOn: type: array items: $ref: '#/components/schemas/RenderCondition' description: An array of conditions that determine when a field is rendered nullable: true platforms: type: array items: type: string description: An array of platforms where this field is available (e.g., D2C-only versus advisor-driven experiences) nullable: true copyable: type: string description: A comma-separated list of roles (e.g., annuitant, insured, owner, payor) that are allowed to copy this field. nullable: true triggerStepNavigation: type: boolean description: Indicates whether the field triggers step navigation layout: allOf: - $ref: '#/components/schemas/LayoutSettings' description: Layout options for the field. Used to define the field's rendered width in the 12-column grid. displayInCardPreview: type: boolean description: Indicates whether this field should be displayed in card preview mode applicationModes: type: array items: type: string description: Array of application modes where this field is available. Helper for filtering what is shown in different modes or channels nullable: true placeholder: allOf: - $ref: '#/components/schemas/LocalizedText' description: List of localized default text values for the field. When rendered, the appropriate localized text is displayed as the field's initial answer until modified. id: minLength: 1 type: string description: The unique identifier for the field partName: minLength: 1 type: string description: An identifier (partName) for the field. validateAs: type: string description: Validation type applied to fields such as phone numbers, where the value must contain digits only. These validations exist and are managed through Zinnia UI nullable: true selectOptions: type: array items: $ref: '#/components/schemas/SelectOption' description: Array of options (answers) that can be selected for dropdown, radio, checkbox, or checkboxgroup fields nullable: true selectOptionsApplicationContext: allOf: - $ref: '#/components/schemas/SelectOptionsApplicationContext' description: Application context for select options sourced from subscriber dataset example: tag: '507602' labelKey: en: Name valuePath: Value visible: allOf: - $ref: '#/components/schemas/VisibilitySettings' description: Visibility settings containing a boolean operator and an array of conditions that determine when the field is visible. example: booleanOperator: AND conditions: - type: equality isEqual: true value: 'Yes' targetNodeId: Transaction.SolicitationState valid: type: array items: $ref: '#/components/schemas/FieldValidationRule' description: An array of validation rules applied to the field (e.g., regex, number range, character count) nullable: true example: - message: en: Please enter valid email address conditions: conditions: - type: matchesRegexCondition targetNodeId: Transaction.Beneficiaries[0].EmailAddresses["Home"].Address regex: ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ - message: en: Please enter value greater than or equal to 1 and less than or equal to 9999999999 conditions: booleanOperator: and conditions: - type: numberComparisonCondition targetNodeId: Transaction.Payments[0].MonetaryAmounts["PaymentAmount"].CurrencyAmount value: 9999999999 operator: lessThanOrEqual - type: numberComparisonCondition targetNodeId: Transaction.Payments[0].MonetaryAmounts["PaymentAmount"].CurrencyAmount value: 1 operator: greaterThanOrEqual - message: en: Please enter no more than 128 characters conditions: conditions: - type: characterCountInBetween targetNodeId: PhysicalAddress.Line1 value: minLength: 0 maxLength: 128 optional: type: boolean description: Indicates if this field is optional (not required) disabled: type: boolean description: 'Indicates whether the field is rendered as disabled (read-only) in the form. Emitted when the upstream control carries ReadOnly: 1 / ReadOnly: true. Omitted when the field is not disabled.' nullable: true example: true hidden: type: boolean description: Indicates the field is not displayed in the UI but is still present in the blueprint and data. Emitted as true when upstream BaseControlType is 15 (Hidden). Omitted for all other field types. nullable: true additionalProperties: false FieldGroupBlueprint: required: - id - partName type: object properties: id: minLength: 1 type: string description: The unique identifier for the field group partName: minLength: 1 type: string description: An identifier (partName) for the field group text: allOf: - $ref: '#/components/schemas/LocalizedText' description: The text associated with a field group, such as descriptions or related notes. Supports localization through language codes (e.g., en, fr). title: allOf: - $ref: '#/components/schemas/LocalizedText' description: The title of the field group in multiple languages. Supports localization through language codes (e.g., en, fr). isCustom: type: boolean description: Indicates whether this is a custom field group fields: type: array items: $ref: '#/components/schemas/FieldBlueprint' description: Array of fields (questions) within this field group nullable: true displayAsCard: type: boolean description: Indicates if this field group should be displayed as a card copyable: type: string description: Role identifier controlling copy behavior. Use 'none' to disable copying, or a role name (e.g., 'owner', 'annuitant', 'insured', 'payor'). Multiple roles may be comma-separated. nullable: true repeatable: allOf: - $ref: '#/components/schemas/RepeatableBlueprint' description: Repeat-instance metadata when the wizard field element or custom control declares IsRepeated. additionalProperties: false FieldValidationRule: required: - conditions - message type: object properties: message: allOf: - $ref: '#/components/schemas/LocalizedText' description: Localized message displayed to the user when validation fails conditions: allOf: - $ref: '#/components/schemas/ValidationConditionGroup' description: The validation conditions wrapper containing an optional booleanOperator and an array of individual conditions example: booleanOperator: and conditions: - type: numberComparisonCondition targetNodeId: Transaction.Payments[0].MonetaryAmounts["PaymentAmount"].CurrencyAmount value: 9999999999 operator: lessThanOrEqual - type: numberComparisonCondition targetNodeId: Transaction.Payments[0].MonetaryAmounts["PaymentAmount"].CurrencyAmount value: 1 operator: greaterThanOrEqual additionalProperties: false example: message: en: Please enter valid email address conditions: conditions: - type: matchesRegexCondition targetNodeId: Transaction.Beneficiaries[0].EmailAddresses["Home"].Address regex: ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ GetCommentsResponse: type: object properties: caseId: type: string description: Case identifier associated with the transaction nullable: true data: allOf: - $ref: '#/components/schemas/CommentsData' description: Comments data payload isSuccess: type: boolean description: Indicates whether the operation was successful message: type: string description: Human-readable message describing the result nullable: true status: type: string description: Status code of the operation nullable: true additionalProperties: false example: caseId: CASE-2026-001234 data: comments: - commentId: '54321' commentSource: OrderEntryUI commentText: Customer requested a follow-up call before submission. createdDateTime: '2026-04-21T09:15:00Z' lastUpdatedDateTime: '2026-04-21T09:15:00Z' logonID: jdoe statusAtStep: InProgress statusDisplayName: In Progress stepTitle: Owner Information userName: Jane Doe totalCount: 1 page: 1 pageSize: 20 isSuccess: true message: Comments retrieved successfully. status: Success IngestAttachmentDocumentRequest: required: - action - documentId - sourceSystem - transactionId type: object properties: transactionId: minLength: 1 pattern: ^[1-9][0-9]*$ type: string description: Unique identifier for the Order Entry transaction (positive integer encoded as a string). documentId: minLength: 1 type: string description: Electronic document service (EDS) identifier for the uploaded or deleted file. sourceSystem: minLength: 1 enum: - AnnuityNet - LifeSpeed type: string description: Originating source system identifier (for example, AnnuityNet or LifeSpeed). action: minLength: 1 enum: - added - deleted type: string description: 'Document lifecycle action. Allowed values: added, deleted.' additionalProperties: false example: transactionId: '123456' documentId: 6a3c4358bd44a9000c8d140e sourceSystem: AnnuityNet action: added IngestAttachmentDocumentResponse: type: object properties: caseId: type: string description: Case identifier associated with the transaction. nullable: true isSuccess: type: boolean description: Indicates whether the ingestion operation was successful. message: type: string description: Human-readable message describing the result. nullable: true status: type: string description: Status code of the operation (for example, Success, ValidationError, Failure). nullable: true additionalProperties: false example: caseId: CA0000188538 isSuccess: true message: Attachment document ingested successfully. status: Success LayoutSettings: type: object properties: size: type: integer description: The size of the field in a 12-column HTML grid that determines its rendered width (12 = full-width, 6 = half-width, 4 = one-third, 3 = quarter-width). Field column widths sum to 12 per row - e.g., two fields of 6 sit side-by-side, three fields of 4 share a row, four fields of 3 share a row. format: int32 additionalProperties: false LocalizedText: type: object properties: en: type: string description: English text content nullable: true additionalProperties: false PrefillAddress: type: object properties: addressBase: $ref: '#/components/schemas/PrefillAddressBase' line3: type: string nullable: true line4: type: string nullable: true stateorprovince: type: string nullable: true typeCode: type: string nullable: true additionalProperties: false PrefillAddressBase: type: object properties: line1: type: string nullable: true line2: type: string nullable: true city: type: string nullable: true stateOrProvinceCode: type: string nullable: true postalCode: type: string nullable: true countryCode: type: string nullable: true country: type: string nullable: true additionalProperties: false PrefillAgent: type: object properties: party: $ref: '#/components/schemas/PrefillParty' partyIdentity: type: array items: $ref: '#/components/schemas/PrefillPartyIdentity' nullable: true questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true user: $ref: '#/components/schemas/PrefillUser' additionalProperties: false PrefillAllocation: type: object properties: percent: type: number format: double nullable: true typeCode: type: string nullable: true additionalProperties: false PrefillAnnuitant: type: object properties: employee: $ref: '#/components/schemas/PrefillEmployee' party: $ref: '#/components/schemas/PrefillParty' additionalProperties: false PrefillBeneficiary: type: object properties: allocation: $ref: '#/components/schemas/PrefillAllocation' employee: $ref: '#/components/schemas/PrefillEmployee' legalEntityTypeCode: type: string nullable: true party: $ref: '#/components/schemas/PrefillParty' relationship: $ref: '#/components/schemas/PrefillRelationship' additionalProperties: false PrefillClient: type: object properties: accountNumber: type: string nullable: true questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true additionalProperties: false PrefillCommunication: type: object properties: emailAddress: type: string nullable: true phone: type: array items: $ref: '#/components/schemas/PrefillPhone' nullable: true additionalProperties: false PrefillDuration: type: object properties: periodDescription: type: string nullable: true unitCode: type: string nullable: true unitCount: type: string nullable: true additionalProperties: false PrefillEmployee: type: object properties: address: type: array items: $ref: '#/components/schemas/PrefillAddress' nullable: true companyName: type: string nullable: true jobTitle: type: string nullable: true occupationClassCode: type: string nullable: true party: $ref: '#/components/schemas/PrefillParty' questionAnswer: type: string nullable: true statusCode: type: string nullable: true additionalProperties: false PrefillFlag: type: object properties: indicator: type: string nullable: true indicatorTypeCode: type: string nullable: true additionalProperties: false PrefillIllustration: type: object properties: illustrationNumber: type: string nullable: true illustrationTypeCode: type: string nullable: true additionalProperties: false PrefillInsured: type: object properties: employee: $ref: '#/components/schemas/PrefillEmployee' party: $ref: '#/components/schemas/PrefillParty' additionalProperties: false PrefillLicense: type: object properties: effectiveDate: type: string nullable: true expirationDate: type: string nullable: true issuingAuthority: type: string nullable: true jurisdiction: type: string nullable: true additionalProperties: false PrefillMessageInformation: type: object properties: businessPurposeTypeCode: type: string nullable: true businessPurposeSubTypeCode: type: string nullable: true sender: type: string nullable: true receiver: type: string nullable: true associatedFirmId: type: string nullable: true trackingNumber: type: string nullable: true effectiveDate: type: string nullable: true reference: type: array items: $ref: '#/components/schemas/PrefillReference' nullable: true eSignature: type: string nullable: true transactionNumber: type: string nullable: true TransExternalTransactionId: type: string nullable: true additionalProperties: false PrefillNameBase: type: object properties: prefix: type: string nullable: true fullName: type: string nullable: true givenName: type: string nullable: true otherGivenName: type: string nullable: true suffix: type: string nullable: true surname: type: string nullable: true additionalProperties: false PrefillOrganization: type: object properties: foundationDate: type: string nullable: true irrevocableIndicator: type: boolean nullable: true memberCount: type: integer format: int32 nullable: true organizationTypeCode: type: string nullable: true additionalProperties: false PrefillOwner: type: object properties: employee: $ref: '#/components/schemas/PrefillEmployee' party: $ref: '#/components/schemas/PrefillParty' partyIdentity: type: array items: $ref: '#/components/schemas/PrefillPartyIdentity' nullable: true questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true relationship: $ref: '#/components/schemas/PrefillRelationship' additionalProperties: false PrefillParty: type: object properties: address: type: array items: $ref: '#/components/schemas/PrefillAddress' nullable: true allocation: $ref: '#/components/schemas/PrefillAllocation' communication: $ref: '#/components/schemas/PrefillCommunication' communicationPreferenceCode: type: string nullable: true languageCode: type: string nullable: true legalEntityTypeCode: type: string nullable: true nameBase: $ref: '#/components/schemas/PrefillNameBase' organization: $ref: '#/components/schemas/PrefillOrganization' partyIdentity: type: array items: $ref: '#/components/schemas/PrefillPartyIdentity' nullable: true partyRole: type: array items: $ref: '#/components/schemas/PrefillPartyRole' nullable: true person: $ref: '#/components/schemas/PrefillPerson' questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true relationship: $ref: '#/components/schemas/PrefillRelationship' suffix: type: string nullable: true additionalProperties: false PrefillPartyIdentity: type: object properties: license: $ref: '#/components/schemas/PrefillLicense' NPN: type: string nullable: true typeCode: type: string nullable: true typeId: type: string nullable: true additionalProperties: false PrefillPartyRole: type: object properties: roleCode: type: string nullable: true roleCodes: type: array items: type: string nullable: true additionalProperties: false PrefillPerson: type: object properties: birthDate: type: string nullable: true citizenship: type: string nullable: true citizenshipCode: type: string nullable: true dependentCount: type: number format: double nullable: true gender: type: string nullable: true genderCode: type: string nullable: true maritalstatus: type: string nullable: true maritalStatusCode: type: string nullable: true militaryStatusCode: type: string nullable: true militarystatus: type: string nullable: true residencyStatusCode: type: string nullable: true residencystatus: type: string nullable: true additionalProperties: false PrefillPhone: type: object properties: phoneNumber: type: string nullable: true phoneTypeCode: type: string nullable: true additionalProperties: false PrefillPlan: type: object properties: accountDesignationCode: type: string nullable: true typeCode: type: string nullable: true party: type: array items: $ref: '#/components/schemas/PrefillParty' nullable: true planOption: $ref: '#/components/schemas/PrefillPlanOption' questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true additionalProperties: false PrefillPlanOption: type: object properties: qualifiedPlanSubType: type: string nullable: true qualifiedPlanTypeCode: type: string nullable: true additionalProperties: false PrefillPolicy: type: object properties: duration: $ref: '#/components/schemas/PrefillDuration' effectiveDate: type: string nullable: true faceAmount: type: number format: double nullable: true flag: type: array items: $ref: '#/components/schemas/PrefillFlag' nullable: true questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true underwritingDecision: $ref: '#/components/schemas/PrefillUnderwritingDecision' additionalProperties: false PrefillPolicyholder: type: object properties: employee: $ref: '#/components/schemas/PrefillEmployee' party: $ref: '#/components/schemas/PrefillParty' questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true relationship: $ref: '#/components/schemas/PrefillRelationship' additionalProperties: false PrefillProduct: type: object properties: address: type: array items: $ref: '#/components/schemas/PrefillAddress' nullable: true carrierCode: type: string nullable: true cusip: type: string nullable: true marketingName: type: string nullable: true productCode: type: string nullable: true questionAnswer: type: array items: $ref: '#/components/schemas/PrefillQuestionAnswer' nullable: true additionalProperties: false PrefillQuestionAnswer: type: object properties: questionCode: type: string nullable: true questionText: type: string nullable: true answerCode: type: string nullable: true answerText: type: string nullable: true value: type: number format: double nullable: true accountDesignationCode: type: string nullable: true additionalProperties: false PrefillReference: type: object properties: id: type: string nullable: true description: type: string nullable: true source: type: string nullable: true additionalProperties: false PrefillRelationship: type: object properties: relationshipToCode: type: string nullable: true partyRole: type: array items: $ref: '#/components/schemas/PrefillPartyRole' nullable: true additionalProperties: false PrefillRequest: type: object properties: agent: type: array items: $ref: '#/components/schemas/PrefillAgent' nullable: true annuitant: $ref: '#/components/schemas/PrefillAnnuitant' beneficiary: type: array items: $ref: '#/components/schemas/PrefillBeneficiary' nullable: true client: $ref: '#/components/schemas/PrefillClient' illustration: $ref: '#/components/schemas/PrefillIllustration' insured: $ref: '#/components/schemas/PrefillInsured' messageInformation: $ref: '#/components/schemas/PrefillMessageInformation' owner: $ref: '#/components/schemas/PrefillOwner' plan: $ref: '#/components/schemas/PrefillPlan' policy: $ref: '#/components/schemas/PrefillPolicy' policyholder: $ref: '#/components/schemas/PrefillPolicyholder' product: $ref: '#/components/schemas/PrefillProduct' additionalProperties: false PrefillUnderwritingDecision: type: object properties: classCode: type: string nullable: true additionalProperties: false PrefillUser: type: object properties: username: type: string nullable: true additionalProperties: false ProductPricingData: type: object properties: isApplicationTransaction: type: boolean description: True when the transaction is an application transaction. isVariableAnnuity: type: boolean description: True when the selected product is a variable annuity. showMarketValueAdjustment: type: boolean description: Whether the UI should show market value adjustment. showNetManagementFee: type: boolean description: Whether the UI should show the net management fee section. productFees: type: array items: $ref: '#/components/schemas/ProductPricingFee' description: Base and contract-level product fees. nullable: true featureFees: type: array items: $ref: '#/components/schemas/ProductPricingFeatureFee' description: Rider and feature-level fees with optional modified charge schedules. nullable: true fundFees: type: array items: $ref: '#/components/schemas/ProductPricingFundFee' description: Fund-level fee displays with optional min/max ranges. nullable: true surrenderCharges: type: array items: $ref: '#/components/schemas/ProductPricingYearCharge' description: Surrender charge schedule by contract year. nullable: true netManagementFees: type: array items: $ref: '#/components/schemas/ProductPricingNetManagementFee' description: Net management fee summary by fund. nullable: true additionalProperties: false example: isApplicationTransaction: true isVariableAnnuity: true showMarketValueAdjustment: false showNetManagementFee: true productFees: - feeTypeLabel: 'Base M&E charges:' feeName: M&E feeValue: 0.90% isDefaultType: false - feeTypeLabel: 'Annual Contract Amount:' feeName: Contract fee feeValue: $120.00 isDefaultType: false featureFees: - featureName: Lifetime income rider feeValues: - 0.35% - $25 annual riderModifiedChargeSchedule: - year: '1' charge: 2.00% - year: '2' charge: 1.50% fundFees: - fundName: Sample Index Fund percentageDisplay: 0.85% minPct: 0.50% maxPct: 1.25% amountDisplay: '' minAmt: '' maxAmt: '' isValueAdjusted: false surrenderCharges: - year: '1' charge: 8% - year: '2' charge: 7% - year: '3' charge: 6% netManagementFees: - fundName: Sample Index Fund totalFeePercentage: 1.10% ProductPricingFeatureFee: type: object properties: featureName: type: string nullable: true feeValues: type: array items: type: string nullable: true riderModifiedChargeSchedule: type: array items: $ref: '#/components/schemas/ProductPricingYearCharge' nullable: true additionalProperties: false ProductPricingFee: type: object properties: feeTypeLabel: type: string nullable: true feeName: type: string nullable: true feeValue: type: string nullable: true isDefaultType: type: boolean additionalProperties: false example: feeTypeLabel: 'Base M&E charges:' feeName: M&E feeValue: 0.90% isDefaultType: false ProductPricingFundFee: type: object properties: fundName: type: string nullable: true percentageDisplay: type: string nullable: true minPct: type: string nullable: true maxPct: type: string nullable: true amountDisplay: type: string nullable: true minAmt: type: string nullable: true maxAmt: type: string nullable: true isValueAdjusted: type: boolean additionalProperties: false ProductPricingNetManagementFee: type: object properties: fundName: type: string nullable: true totalFeePercentage: type: string nullable: true additionalProperties: false ProductPricingResponse: required: - transactionId type: object properties: caseId: type: string description: Case identifier associated with the transaction when pricing is found. nullable: true transactionId: minLength: 1 type: string description: Unique identifier for the Order Entry transaction. data: allOf: - $ref: '#/components/schemas/ProductPricingData' description: Fee schedules and product pricing detail; null when isSuccess is false. example: isApplicationTransaction: true isVariableAnnuity: true showMarketValueAdjustment: false showNetManagementFee: true productFees: - feeTypeLabel: 'Base M&E charges:' feeName: M&E feeValue: 0.90% isDefaultType: false - feeTypeLabel: 'Annual Contract Amount:' feeName: Contract fee feeValue: $120.00 isDefaultType: false featureFees: - featureName: Lifetime income rider feeValues: - 0.35% - $25 annual riderModifiedChargeSchedule: - year: '1' charge: 2.00% - year: '2' charge: 1.50% fundFees: - fundName: Sample Index Fund percentageDisplay: 0.85% minPct: 0.50% maxPct: 1.25% amountDisplay: '' minAmt: '' maxAmt: '' isValueAdjusted: false surrenderCharges: - year: '1' charge: 8% - year: '2' charge: 7% - year: '3' charge: 6% netManagementFees: - fundName: Sample Index Fund totalFeePercentage: 1.10% isSuccess: type: boolean description: Whether the upstream product pricing call succeeded. message: type: string description: Human-readable status message from the product pricing service. nullable: true status: type: string description: Status label (for example Success or Failure). nullable: true additionalProperties: false example: caseId: OE-CASE-10001 transactionId: '1064752' data: isApplicationTransaction: true isVariableAnnuity: true showMarketValueAdjustment: false showNetManagementFee: true productFees: - feeTypeLabel: 'Base M&E charges:' feeName: M&E feeValue: 0.90% isDefaultType: false - feeTypeLabel: 'Annual Contract Amount:' feeName: Contract fee feeValue: $120.00 isDefaultType: false featureFees: - featureName: Lifetime income rider feeValues: - 0.35% - $25 annual riderModifiedChargeSchedule: - year: '1' charge: 2.00% - year: '2' charge: 1.50% fundFees: - fundName: Sample Index Fund percentageDisplay: 0.85% minPct: 0.50% maxPct: 1.25% amountDisplay: '' minAmt: '' maxAmt: '' isValueAdjusted: false surrenderCharges: - year: '1' charge: 8% - year: '2' charge: 7% - year: '3' charge: 6% netManagementFees: - fundName: Sample Index Fund totalFeePercentage: 1.10% isSuccess: true message: Success status: Success ProductPricingYearCharge: type: object properties: year: type: string nullable: true charge: type: string nullable: true additionalProperties: false QuestionData: required: - id - type - value type: object properties: id: minLength: 1 type: string description: Must match the field key under `data` for this row (case-insensitive); inside collection rows, must match the leaf key in the item's `data` map. type: minLength: 1 enum: - input - dropdown - radio - checkbox - checkboxgroup - date - phone - email - money - number - label - information - collection - Person - Address - Hidden type: string description: 'Data-storage type for the question row. Must match the corresponding blueprint field type and be one of: input, dropdown, radio, checkbox, checkboxgroup, date, phone, email, money, number, label, information, collection, Person, Address, Hidden. Values are case-sensitive.' example: input questionText: type: string description: The title of the question shown to the user. This value should be kept in sync with the title property of the associated field nullable: true questionSubText: type: string description: The subtext shown to the user below the question title. This value should be kept in sync with the text property of the associated field nullable: true displayValue: type: string description: The display text representing the user's selected answer. For example, a country dropdown may display 'United States of America' to the user, while the blueprint stores the value as 'USA' nullable: true value: anyOf: - type: string description: String value for simple fields example: PrimaryBeneficiary - type: integer description: Integer value for numeric fields example: 123 - type: number description: Float value for decimal fields format: float example: 123.45 - type: string description: Date value for date fields (YYYY-MM-DD format) format: date example: '2024-01-15' - type: string description: DateTime value for date-time fields (ISO 8601 format) format: date-time example: '2024-01-15T10:30:00Z' - type: boolean description: Boolean value for true/false fields example: true - type: array items: type: string example: Income_Replacement description: Array of selected option codes for checkboxgroup fields - type: array items: required: - surrogateId - type - data type: object properties: surrogateId: type: string description: 'The surrogate identifier for each set of answers in a collection. Example: a repeatable beneficiary collection with two beneficiaries will have two surrogate IDs.' example: 504490-1 type: enum: - collectionItem type: string description: Must be `collectionItem` for each element of a collection value array. example: collectionItem data: type: object additionalProperties: required: - id - type - value type: object properties: id: type: string description: Must match the leaf property name under this collection item's `data` object (case-insensitive). example: 504490_FirstName type: enum: - input - dropdown - radio - checkbox - checkboxgroup - date - phone - email - money - number - label - information - collection - Person - Address - Hidden type: string description: 'Data-storage type for the question row. Must match the corresponding blueprint field type and be one of: input, dropdown, radio, checkbox, checkboxgroup, date, phone, email, money, number, label, information, collection, Person, Address, Hidden. Values are case-sensitive.' example: input questionText: type: string description: The title of the question shown to the user. This value should be kept in sync with the title property of the associated field example: First Name questionSubText: type: string description: The subtext shown to the user below the question title. This value should be kept in sync with the text property of the associated field example: '' displayValue: type: string description: The display text representing the user's selected answer. For example, a country dropdown may display 'United States of America' to the user, while the blueprint stores the value as 'USA' example: '' value: anyOf: - type: string description: String value for simple fields example: '' - type: integer description: Integer value for numeric fields example: 123 - type: number description: Float value for decimal fields example: 123.45 - type: string description: Date value for date fields (YYYY-MM-DD format) format: date example: '2024-01-15' - type: string description: DateTime value for date-time fields (ISO 8601 format) format: date-time example: '2024-01-15T10:30:00.000Z' - type: boolean description: Boolean value for true/false fields example: true description: The actual value of the question (required on each nested question row; JSON null allowed when applicable). description: Dictionary containing question data for this collection item description: Array of CollectionItem for collection type fields description: The actual value of the question (required on each QuestionData row in `data`; JSON null is allowed for an empty optional answer). Can be a string, integer, number, float, date, date-time, boolean, or array of CollectionItem objects depending on the field type. index: type: integer description: Zero-based row index for repeatable collection rows in transaction data lists; 0 for single-value fields. format: int32 prefilled: type: boolean description: True when value is a prefill; omitted in JSON when false. additionalProperties: false description: One row of captured or echoed answer data. Must include id, type, and value (the JSON property `value` must be present on each row; use JSON null for an empty optional answer when applicable). On PUT, `id` must match the enclosing `data` field key (or the leaf key inside a collection item's `data`). `type` must be a QuestionData storage type (see QuestionDataStorageTypes); collection value rows use `collectionItem` on each CollectionItem. QuestionDataRows: title: QuestionDataRows type: array items: $ref: '#/components/schemas/QuestionData' description: All answer rows for one question or composite collection field id. Use `index` on each row for repeatable collection instances. Each row must include `id`, `type`, and `value` (see QuestionData schema). RenderCondition: required: - type - targetNodeId type: object properties: type: enum: - equality - range - presence type: string description: Kind of comparison performed by the condition. example: equality isEqual: type: boolean description: When true the condition passes if the target value equals 'value'; when false the condition passes if it differs. example: true value: type: string description: The value to compare against the resolved target answer. example: NY targetNodeId: type: string description: The answer node identifier whose value is evaluated by this condition. example: SolicitationStateCode description: Single condition controlling whether a field/section is rendered. RepeatableBlueprint: type: object properties: repeatableAnswerNodeId: type: string description: Blueprint id this repeat block is bound to (matches SubsectionBlueprint.id or FieldGroupBlueprint.id). nullable: true addButtonText: allOf: - $ref: '#/components/schemas/LocalizedText' description: Localized label for the control that adds another row. removeButtonText: allOf: - $ref: '#/components/schemas/LocalizedText' description: Localized label for removing a row. minRepeatable: type: integer description: Minimum number of instances. format: int32 maxRepeatable: type: integer description: Maximum number of instances. format: int32 outputPath: type: string description: Optional binding path for persisted repeat instances. nullable: true additionalProperties: false RequiredDocument: type: object properties: attachmentType: type: string description: Attachment type code nullable: true displayName: type: string description: Display name shown to the user nullable: true documentType: type: string description: Document type code nullable: true formType: type: string description: Form type code nullable: true message: type: string description: Instructional message for the required document nullable: true additionalProperties: false RetriggerEsignatureEmailNotificationRequest: required: - transactionId type: object properties: transactionId: minLength: 1 type: string description: String form of the transaction (case) id; must be a positive integer. additionalProperties: false example: transactionId: '1131068' RetriggerEsignatureEmailNotificationResponse: type: object properties: success: type: boolean description: True when the signing notification was retriggered (e-sign in progress upstream). message: type: string description: User-safe message; e.g. notification successfully triggered when success is true. nullable: true additionalProperties: false example: success: true message: Notification successfully triggered. ReviewerActionRequest: required: - action - transactionId type: object properties: action: minLength: 1 type: string description: 'Review outcome: Approved, Declined, or Terminate.' transactionId: maximum: 2147483647 minimum: 1 type: integer description: Order-entry transaction (instance) identifier. format: int32 additionalProperties: false ReviewerActionResponse: type: object properties: caseId: type: integer description: Case identifier returned by the upstream service when available. format: int64 nullable: true isSuccess: type: boolean description: True when the reviewer action completed successfully. message: type: string description: Human-readable outcome message. nullable: true status: type: string description: High-level status string returned to the client. nullable: true additionalProperties: false SaveCommentRequest: required: - commentText - transactionId type: object properties: appSubIndicator: type: string description: Indicator identifying whether the comment applies to the application or sub-application nullable: true commentSource: type: string description: Source system or user group that authored the comment nullable: true commentText: minLength: 1 type: string description: Free-form comment text statusAtStep: type: string description: Status code of the transaction at the step the comment was added nullable: true statusDisplayName: type: string description: Display name for the status at the step the comment was added nullable: true stepTitle: type: string description: Title of the wizard step the comment was added on nullable: true transactionId: minLength: 1 pattern: ^[1-9][0-9]*$ type: string description: Unique identifier of the transaction the comment belongs to (positive integer encoded as a string) additionalProperties: false example: appSubIndicator: App commentSource: OrderEntryUI commentText: Customer requested a follow-up call before submission. statusAtStep: InProgress statusDisplayName: In Progress stepTitle: Owner Information transactionId: '1125715' SaveCommentResponse: type: object properties: caseId: type: string description: Case identifier associated with the transaction. Populated on successful saves. nullable: true isSuccess: type: boolean description: Indicates whether the operation was successful message: type: string description: Human-readable message describing the result nullable: true status: type: string description: Status code of the operation (e.g., "Success", "ValidationError", "Failure") nullable: true additionalProperties: false example: caseId: CA0000188538 isSuccess: true message: Comment saved successfully. status: Success SaveEsignatureRequest: required: - signers type: object properties: transactionId: minimum: 1 type: integer description: Transaction (case) identifier to submit for e-signature. format: int64 signers: minItems: 1 type: array items: $ref: '#/components/schemas/SaveEsignatureSignerRequest' description: Final signer roster with selected auth method and contact details. additionalProperties: false example: transactionId: 1131068 signers: - recipientId: '11306862' signerAccessCode: '' signerAuthMethod: Phone signerCountryCode: '1' signerEmail: anannya.gupta@everglades.com signerEntityRole: PrimaryOwner signerName: EE EE1 signerPhoneNo: '8650827071' signerSequence: '1' - recipientId: '11306935' signerAccessCode: '' signerAuthMethod: Phone signerCountryCode: '1' signerEmail: '' signerEntityRole: AgentOfRecord signerName: RR RR signerPhoneNo: '8650827071' signerSequence: '2' SaveEsignatureResponse: type: object properties: success: type: boolean description: True when the case was submitted to DocuSign for e-signature. message: type: string description: User-safe confirmation or failure text from the submission result. nullable: true additionalProperties: false example: success: true message: Case submitted for e-signature successfully. SaveEsignatureSignerRequest: type: object properties: recipientId: type: string description: DocuSign recipient ID from GET signers (required for submission). nullable: true signerAccessCode: type: string description: Access code when required; empty string when none. nullable: true signerAuthMethod: type: string description: Selected auth method for submission (for example Phone). nullable: true signerCountryCode: type: string description: Country calling code (default 1 for US). nullable: true signerEmail: type: string description: Signer email; may be empty for some roles. nullable: true signerEntityRole: type: string description: Entity role (for example PrimaryOwner, AgentOfRecord). nullable: true signerName: type: string description: Display name sent to DocuSign for this recipient. nullable: true signerPhoneNo: type: string description: Phone digits only; stored without dashes. nullable: true signerSequence: type: string description: Signing order when routing is sequential. nullable: true additionalProperties: false SectionBlueprint: required: - id - partName - title type: object properties: id: minLength: 1 type: string description: The unique identifier for the section sectionGroupKey: type: string description: A key used to group related sections within the blueprint nullable: true partName: minLength: 1 type: string description: An identifier (partName) for the section title: allOf: - $ref: '#/components/schemas/LocalizedText' description: The section title in multiple languages. Supports localization through language codes (e.g., en, fr) modules: type: array items: type: string description: An array of module names associated with this section nullable: true isCustom: type: boolean description: Indicates whether this section is custom subsections: type: array items: $ref: '#/components/schemas/SubsectionBlueprint' description: Array of subsections within this section nullable: true copyable: type: string description: Role identifier controlling copy behavior. Use 'none' to disable copying, or a role name (e.g., 'owner', 'annuitant', 'insured', 'payor'). Multiple roles may be comma-separated. nullable: true renderOn: type: array items: type: string description: An array of conditions that determine when a section is rendered nullable: true pdfDocuments: type: array items: type: string description: An array of PDF document identifiers where this section appears nullable: true platforms: type: array items: type: string description: An array of platforms where this section is available (e.g., D2C-only versus advisor-driven experiences) nullable: true visible: allOf: - $ref: '#/components/schemas/VisibilitySettings' description: 'Visibility conditions for the section. When present, the section is only visible when all conditions are met. Example: { "booleanOperator": "AND", "conditions": [ { "type": "equality", "isEqual": true, "value": "NY", "targetNodeId": "SolicitationStateCode" } ] }' example: booleanOperator: AND conditions: - type: equality isEqual: true value: 'Yes' targetNodeId: Transaction.SolicitationState repeatable: allOf: - $ref: '#/components/schemas/RepeatableBlueprint' description: Repeat-instance metadata when the wizard section declares IsRepeated. additionalProperties: false SectionGroupBlueprint: required: - id - title type: object properties: id: minLength: 1 type: string description: The unique identifier for the section group title: allOf: - $ref: '#/components/schemas/LocalizedText' description: The section group title in multiple languages. Supports localization through language codes (e.g., en, fr) partName: type: string description: An identifier (partName) for the section group nullable: true additionalProperties: false SelectOption: required: - text - value type: object properties: text: allOf: - $ref: '#/components/schemas/LocalizedText' description: The display text representing the user's selected answer. For example, a country dropdown may display 'United States of America' to the user, while the blueprint stores the value as 'USA' value: minLength: 1 type: string description: The value representing the user's selected answer. For example, a country dropdown may display 'United States of America' to the user, while the blueprint stores the value as 'USA' additionalProperties: false SelectOptionsApplicationContext: type: object properties: tag: type: string description: Tag used to associate dataset values with a field nullable: true labelKey: allOf: - $ref: '#/components/schemas/LocalizedText' description: Localized label key for dataset items valuePath: type: string description: Dataset value path nullable: true additionalProperties: false example: tag: '507602' labelKey: en: Name valuePath: Value StateCode: pattern: ^[A-Z]{2}$ enum: - AL - AK - AZ - AR - AA - AE - AP - CA - CO - CT - DE - DC - FL - GA - GU - HI - ID - IL - IN - IA - KS - KY - LA - ME - MD - MA - MI - MN - MS - MO - MT - NE - NV - NH - NJ - NM - NY - NC - ND - OH - OK - OR - PA - PR - RI - SC - SD - TN - TX - UT - VT - VI - VA - WA - WV - WI - WY type: string description: US state, territory, or military mail code (2 characters). Uppercase letters only. example: NC SubmitTransactionResponse: required: - message - transactionId type: object properties: transactionId: minLength: 1 type: string description: The unique identifier for the submitted transaction. Echoed back from the request. message: minLength: 1 type: string description: Human-readable confirmation that the submit request was accepted. additionalProperties: false example: transactionId: '12345' message: Transaction submitted successfully Subscriber: type: object properties: triggers: type: array items: type: string description: NamedItem identifiers of the form fields whose value change fires this subscriber. nullable: true conditions: type: array items: {} description: Optional conditions that must hold for the subscriber to execute. Omitted when not used. nullable: true actions: type: array items: $ref: '#/components/schemas/SubscriberAction' description: Actions executed when any of the triggers fire. Each action declares an HTTP call plus one or more response handlers. nullable: true additionalProperties: false 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 SubscriberAction: type: object properties: type: type: string description: The action transport. Currently always "http". nullable: true verb: type: string description: HTTP verb to use (e.g., "get", "post"). nullable: true url: type: string description: 'Relative URL of the OE endpoint to call when the trigger fires. Three shapes are emitted: ''/market-connect/order-entry/v1/dataset'' (dataset refresh); ''/market-connect/order-entry/v1/transaction/{transactionId}/{stepName}'' (multi-step blueprint refresh); ''/market-connect/order-entry/v1/transaction/{transactionId}'' (single/enhanced blueprint refresh).' nullable: true token: type: string description: Bearer-token alias forwarded by the UI on the call. Always "OEToken" today. nullable: true payload: allOf: - $ref: '#/components/schemas/SubscriberActionPayload' description: Request payload envelope. Use type "none" when no body is required. example: type: basic payload: transactionId: '1125715' stepName: MCDPS fieldId: '531783' responseHandlers: type: array items: $ref: '#/components/schemas/SubscriberResponseHandler' description: One or more handlers that apply the upstream response back to the form. nullable: true additionalProperties: false example: type: http verb: get url: /market-connect/order-entry/v1/transaction/1064727 token: OEToken payload: type: none responseHandlers: - type: blueprint-modification action: replace-whole value: type: response-query kind: json-path value: $.data SubscriberActionPayload: type: object properties: type: type: string description: Payload kind. "basic" includes a key/value map in the "payload" field; "none" omits the body. nullable: true payload: type: object additionalProperties: type: string description: Inner payload key/value map. Omitted from the JSON envelope when type is "none". nullable: true additionalProperties: false example: type: basic payload: transactionId: '1125715' stepName: MCDPS fieldId: '531783' SubscriberResponseHandler: type: object properties: type: type: string description: Handler kind. "context-modification" updates a context namespace; "blueprint-modification" applies the response to the rendered blueprint. nullable: true action: type: string description: 'Action to perform within the chosen handler kind. Examples: "update-namespace", "replace-whole".' nullable: true namespace: type: string description: Namespace to update for context-modification handlers. Omitted for handler types that do not use a namespace. nullable: true value: allOf: - $ref: '#/components/schemas/SubscriberResponseValue' description: How to extract the value to apply from the upstream response. example: type: response-query kind: json-path value: $.data additionalProperties: false example: type: blueprint-modification action: replace-whole value: type: response-query kind: json-path value: $.data SubscriberResponseValue: type: object properties: type: type: string description: Value source kind. "response-query" extracts via a query expression on the response body. nullable: true kind: type: string description: Query language used to evaluate the value expression. Currently always "json-path". nullable: true value: type: string description: The query expression itself (e.g., "$.data" to grab the response's data branch). nullable: true additionalProperties: false example: type: response-query kind: json-path value: $.data SubsectionBlueprint: required: - id - partName - title type: object properties: id: minLength: 1 type: string description: The unique identifier for the subsection partName: minLength: 1 type: string description: The part name for the subsection text: allOf: - $ref: '#/components/schemas/LocalizedText' description: Text content for the subsection title: allOf: - $ref: '#/components/schemas/LocalizedText' description: The title of the subsection isCustom: type: boolean description: Indicates if this is a custom subsection fieldGroups: type: array items: $ref: '#/components/schemas/FieldGroupBlueprint' description: Array of field groups within this subsection nullable: true subsections: type: array items: $ref: '#/components/schemas/SubsectionBlueprint' description: Array of nested subsections within this subsection nullable: true showInNavigation: type: boolean description: Indicates if this subsection should be shown in navigation copyable: type: string description: Role identifier controlling copy behavior. Use 'none' to disable copying, or a role name (e.g., 'owner', 'annuitant', 'insured', 'payor'). Multiple roles may be comma-separated. nullable: true visible: allOf: - $ref: '#/components/schemas/VisibilitySettings' description: 'Visibility conditions for the subsection. When present, the subsection is only visible when all conditions are met. Example: { "booleanOperator": "AND", "conditions": [ { "type": "equality", "isEqual": true, "value": "NY", "targetNodeId": "SolicitationStateCode" } ] }' example: booleanOperator: AND conditions: - type: equality isEqual: true value: 'Yes' targetNodeId: Transaction.SolicitationState repeatable: allOf: - $ref: '#/components/schemas/RepeatableBlueprint' description: Repeat-instance metadata when the wizard subsection or custom control declares IsRepeated. additionalProperties: false TransactionDataQuestionRowsMap: title: TransactionDataQuestionRowsMap type: object properties: '259726': $ref: '#/components/schemas/QuestionDataRows' additionalProperties: $ref: '#/components/schemas/QuestionDataRows' description: 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 TransactionResponse: required: - blueprint - data - transactionId type: object properties: transactionId: minLength: 1 type: string description: The unique identifier for the created transaction caseId: type: string description: The case identifier returned by the product service nullable: true data: $ref: '#/components/schemas/TransactionDataQuestionRowsMap' blueprint: $ref: '#/components/schemas/Blueprint' subscribers: type: array items: $ref: '#/components/schemas/Subscriber' description: '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).' nullable: true errors: type: array items: $ref: '#/components/schemas/ErrorInfo' description: Collection of errors if the operation failed nullable: true validationErrors: type: array items: $ref: '#/components/schemas/ValidationErrors' description: Collection of validation errors when transaction validation fails. Includes transaction ID, field ID, and error messages. nullable: true additionalProperties: false example: transactionId: '12345' caseId: CASE-12345 data: '259726': - type: dropdown displayValue: Owner id: '259726' value: Owner index: 0 489444_Line1: - type: input displayValue: 12108 Jefferson CT id: 489444_Line1 value: 12108 Jefferson CT index: 0 489444_City: - type: input displayValue: Alpharetta id: 489444_City value: Alpharetta index: 0 blueprint: sectionBlueprints: - id: section1 partName: PersonalInformation title: en: Personal Information modules: - personal isCustom: false subsections: - id: 489363-SubSection partName: partName-489363 text: en: '' title: en: '' isCustom: true fieldGroups: - id: '489363' partName: partName-489363 text: en: '' title: en: Name isCustom: true fields: - fieldType: dropdown text: en: '' title: en: Prefix answerNodeId: Transaction.PrimaryOwner.PersonName.Prefix renderOn: [] platforms: [] copyable: none triggerStepNavigation: false layout: size: 12 displayInCardPreview: false applicationModes: - digital - paper placeholder: en: '' id: 489363_Prefix partName: partName-489363_Prefix validateAs: string selectOptions: - text: en: Mr value: '1' - text: en: Mrs value: '2' - text: en: Ms value: '3' - text: en: Dr value: '4' - text: en: Atty value: '5' - text: en: Rev value: '6' - text: en: Miss value: '7' visible: null optional: false repeatable: repeatableAnswerNodeId: '489363' minRepeatable: 1 maxRepeatable: 15 addButtonText: en: Add removeButtonText: en: Remove repeatable: repeatableAnswerNodeId: 489363-SubSection minRepeatable: 1 maxRepeatable: 15 addButtonText: en: Add removeButtonText: en: Remove copyable: '' renderOn: [] pdfDocuments: [] platforms: [] sectionGroupBlueprints: insuredPeople: id: insuredPeople title: en: '' partName: '' subscribers: - triggers: - Transaction.SolicitationState actions: - type: http verb: post url: /market-connect/order-entry/v1/dataset token: OEToken payload: type: basic payload: transactionId: '1064187' stepName: CarrierProductSelection fieldId: '504436' Transaction.Parameters["CarrierID"].Value: blueprint-id:504435 Transaction.SolicitationState: blueprint-id:504440 responseHandlers: - type: context-modification action: update-namespace namespace: '504436' value: type: response-query kind: json-path value: $.data errors: [] UpdateEsignSignerDetailsRequest: required: - signers type: object properties: transactionId: minimum: 1 type: integer description: Transaction (case) identifier whose signer contact details should be updated. format: int64 signers: minItems: 1 type: array items: $ref: '#/components/schemas/UpdateEsignSignerRequest' description: Signer rows with corrected email and/or phone while e-sign is pending. additionalProperties: false example: transactionId: 1131068 signers: - recipientId: '11306862' signerEmail: corrected.email@everglades.com signerSequence: '1' signerAuthMethod: Phone signerCountryCode: '1' signerPhoneNo: '8650827071' UpdateEsignSignerDetailsResponse: type: object properties: success: type: boolean description: True when signer contact details were updated (e-sign must be pending upstream). message: type: string description: User-safe message confirming the update or describing a failure. nullable: true additionalProperties: false example: success: true message: Signer contact details updated successfully. UpdateEsignSignerRequest: type: object properties: recipientId: type: string description: DocuSign recipient ID from GET signers or signer status. nullable: true signerEmail: type: string description: Corrected signer email address. nullable: true signerSequence: type: string description: Signing order when routing is sequential. nullable: true signerAuthMethod: type: string description: Auth method for the signer (for example Phone or SMS). nullable: true signerCountryCode: type: string description: Country calling code (default 1 for US). nullable: true signerPhoneNo: type: string description: Corrected phone digits only; stored without dashes. nullable: true additionalProperties: false UpdateTransactionRequest: $ref: '#/components/schemas/TransactionDataQuestionRowsMap' ValidationCondition: required: - type - targetNodeId type: object properties: type: enum: - matchesRegexCondition - numberComparisonCondition - characterCountInBetween type: string description: The kind of validation this condition performs. example: matchesRegexCondition targetNodeId: type: string description: The answer node identifier this condition evaluates. example: Transaction.Beneficiaries[0].EmailAddresses["Home"].Address regex: type: string description: Regex pattern. Only used when `type` is `matchesRegexCondition`. nullable: true example: ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$ operator: enum: - lessThan - lessThanOrEqual - greaterThan - greaterThanOrEqual - equal - notEqual type: string description: Comparison operator. Only used when `type` is `numberComparisonCondition`. nullable: true example: lessThanOrEqual value: anyOf: - type: number example: 9999999999 - type: integer example: 1 - type: object properties: minLength: type: integer example: 0 maxLength: type: integer example: 128 description: Condition-specific value. Number for `numberComparisonCondition`; object `{ minLength, maxLength }` for `characterCountInBetween`. Absent for `matchesRegexCondition`. description: 'Single validation condition inside a FieldValidationRule. The shape varies by `type`: `matchesRegexCondition` uses `regex`; `numberComparisonCondition` uses `value` + `operator`; `characterCountInBetween` uses `value: { minLength, maxLength }`.' ValidationConditionGroup: type: object properties: booleanOperator: type: string description: The boolean operator used to combine multiple conditions (e.g., "and"). Omitted when there is only one condition. nullable: true conditions: type: array items: $ref: '#/components/schemas/ValidationCondition' description: Array of validation conditions with varying structures per condition type nullable: true additionalProperties: false example: booleanOperator: and conditions: - type: numberComparisonCondition targetNodeId: Transaction.Payments[0].MonetaryAmounts["PaymentAmount"].CurrencyAmount value: 9999999999 operator: lessThanOrEqual - type: numberComparisonCondition targetNodeId: Transaction.Payments[0].MonetaryAmounts["PaymentAmount"].CurrencyAmount value: 1 operator: greaterThanOrEqual ValidationErrors: type: object properties: fieldId: type: string description: ControlID as a string (numeric ids appear quoted). Omitted when fieldId is 0. nullable: true answerNodeId: type: string description: Answer node path from annuity NamedItem; matches FieldBlueprint.AnswerNodeId. nullable: true message: type: string description: The validation error message nullable: true sectionName: type: string description: The section/step name where the error occurred nullable: true additionalProperties: false description: 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 VisibilityCondition: required: - type - targetNodeId type: object properties: type: enum: - equality - range - presence type: string description: Kind of comparison performed by the condition. example: equality isEqual: type: boolean description: When true the condition passes if the target value equals 'value'; when false the condition passes if it differs. example: true value: type: string description: The value to compare against the resolved target answer. example: NY targetNodeId: type: string description: The answer node identifier whose value is evaluated by this condition. example: SolicitationStateCode description: Single condition controlling whether a field/section is visible at runtime. VisibilitySettings: type: object properties: booleanOperator: type: string description: The boolean operator for combining conditions nullable: true conditions: type: array items: $ref: '#/components/schemas/VisibilityCondition' description: Array of visibility conditions with varying structures per condition type nullable: true additionalProperties: false example: booleanOperator: AND conditions: - type: equality isEqual: true value: 'Yes' targetNodeId: Transaction.SolicitationState securitySchemes: openIdConnect: type: openIdConnect description: 'OpenID Connect via Auth0. Clients present a JWT bearer token issued by the tenant in the `Authorization: Bearer ` header.' openIdConnectUrl: https://login.qa.zinnia.com/.well-known/openid-configuration x-kong-security-openid-connect: config: auth_methods: - bearer verify_signature: true ignore_signature: [] consumer_claim: - sub consumer_optional: true security: - openIdConnect: [] tags: - name: Transaction description: Transaction management operations - name: Dataset description: Dataset operations - name: Attachment description: Attachment operations for transaction documents. - name: Comments description: Comment management operations (save, list, and delete transaction comments) - name: ReviewerAction description: Reviewer workflow actions (Approved, Declined, Terminate) forwarded to the product order-entry service - name: ProductPricing description: Product pricing retrieval for a transaction - name: Esignature description: 'E-signature for DocuSign: load recipients, submit the case, poll signer status, cancel ceremony (void envelope; Pending), and retrigger signing email when in progress' - name: Health description: Health check operations