---
title: "The consolidated application workspace for a submission"
method: GET
path: "/broker/submissions/{submission_id}/application-workspace"
tags: ["Carrier quotes"]
---

# The consolidated application workspace for a submission

`GET /broker/submissions/{submission_id}/application-workspace`

## Request

- Base URL: `https://api.hedgespecialty.com/api/v1`
- URL: `https://api.hedgespecialty.com/api/v1/broker/submissions/{submission_id}/application-workspace`
- Auth: OAuth 2
  - Authorization code: `https://api.hedgespecialty.com/api/v1/oauth/authorize`
  - Client credentials
  - Token URL: `https://api.hedgespecialty.com/api/v1/oauth/token`

One read for everything an external application builder needs on a
submission: the shared facts (`facts`) and one `ApplicationSection`
per active carrier application — its question schema (the same
questions as the program's application-schema), current answers,
per-field ownership, `missing` required keys, `readiness`, the last
quote request state and result, and the revision tokens every write
must echo. Submissions not on the structured workflow return
`workflow_version: legacy` with no applications. Read scope is
enough.

## Path parameters

- `submission_id` string, uuid, required

## Response `200`

Workspace

- ApplicationWorkspace: The consolidated per-submission application surface: the shared facts plus one `ApplicationSection` per active carrier application. Submissions not on the structured application workflow return `workflow_version: legacy` with an empty `applications` list.
  - `contract_version` 'structured_v1'
  - `workspace_id` string, required
  - `workflow_version` string, required: `structured_v1`, or `legacy` when this submission does not use the workspace.
  - `facts` FactEnvelope: The submission's shared facts (the Brief) as the applications see them; one revision counter for the whole set.
    - `contract_version` 'structured_v1', required
    - `workspace_id` string, required
    - `fact_set_id` string, required
    - `owner_host` 'hedge' | 'bindly', required
    - `owner_resource_id` string, required
    - `revision` integer, required
    - `replica_applied_revision` integer
    - `facts` Fact[], required
      - `key` string, required
      - `value` unknown, required
      - `scope` string
      - `period` string, nullable
      - `source` SourceReference, required: Provenance of a fact or answer.
        - `source_id` string, required
        - `content_hash` string, required
        - `channel` 'broker_portal' | 'broker_email' | 'insured' | 'connected_app' | 'document' | 'paste' | 'mapping', required
        - `evidence` 'explicit' | 'translated' | 'assumed'
        - `snippet` string, nullable
        - `extractor_version` string, nullable
      - `confirmed` boolean
  - `applications` ApplicationSection[], required
    - `application_id` string, required
    - `workspace_id` string, required
    - `connection_id` string
    - `provider_key` string, required
    - `program_identifier` string, required
    - `owner_host` 'hedge' | 'bindly'
    - `owner_session_id` string
    - `route` 'hedge' | 'direct'
    - `market_program_id` string, uuid, nullable
    - `submission_id` string, uuid, nullable
    - `line_of_business` string, nullable
    - `schema` object, required: The normalized question schema (fields, required_field_keys, program identity); the same questions GET /broker/programs/{program_id}/application-schema projects.
    - `schema_fingerprint` string, required
    - `answers` object, required: Current answers keyed by question key.
    - `ownership` object
    - `answer_revision` integer, required
    - `fact_revision` integer
    - `selection_revision` integer
    - `selected_products` string[]
    - `available_products` string[]
    - `mapping_state` string: Whether Hedge's fact-to-answer mapping is idle or still running for this application.
    - `unresolved_dependencies` string[]
    - `missing` string[]: Required question keys still unanswered.
    - `errors` object[]
    - `visible_fields` string[]
    - `readiness` string, required: `needs_information` until every required visible question is answered, then `ready_for_quote`.
    - `request_state` string, required: Lifecycle of the last quote request for this application (draft until one is made).
    - `request_id` string, nullable
    - `result` object, nullable: The carrier outcome of the last request
    - `allowed_actions` string[]
  - `residual_pdf` object: State of any residual PDF forms Hedge still prepares outside the carrier applications (`status`, `form_keys`).

## Other responses

- `404`: Submission not found (or not your brokerage's)

## Changes

- **2026-09-20** `7928528d98b2`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/changes/broker/submissions/:submission_id/application-workspace/get.md)

---

[API](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api.md) - [All operations](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/revisions/beefa9cdc11c?raw)
