---
title: "Record the agency's structured answers (partner integrations only)"
method: POST
path: "/broker/submissions/{submission_id}/answers"
tags: ["Requirements"]
---

# Record the agency's structured answers (partner integrations only)

`POST /broker/submissions/{submission_id}/answers`

## Request

- Base URL: `https://api.hedgespecialty.com/api/v1`
- URL: `https://api.hedgespecialty.com/api/v1/broker/submissions/{submission_id}/answers`
- 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`

For an API partner acting for your brokerage (a token carrying the
partner claim, with `broker_submit`) on a submission that partner
created, before or after finalize. Any other caller, or a submission
the partner did not create, gets 404.

Each answer is checked, and only a key a question carries is ever
recorded. An `api_program` answer is checked against the program's
`questions` (`GET /broker/programs/{program_id}/application-schema`):
by `question_id`, whose question's `key` it must send, or by `key`
alone when one question carries it. Option values are the program's
own JSON values and are compared exactly (`300000` is not
`"300000"`). A `hedge_questions` answer is checked against the Hedge
questions (`POST /broker/hedge-questions`) by `key`; a select there
takes an option value or its label. Values are type-checked. Program
answers may address only the programs of a rater file, or of a
standard file's own lanes. An accepted answer is recorded on the
submission as the agency's own answer under its `key`, which every
Hedge model, carrier application and rendered supplemental reads. A
program answer also reaches that program's live carrier session once
one exists. Limits: 500 answers per request, 4,000 characters per
text answer, 20,000 characters of JSON per value (250,000 for a list
value such as a carrier's location rows).

`Idempotency-Key` (at most 128 characters) is required. Retrying the
same key with the same body returns the first result; the same key
with a different body is a 409.

## Path parameters

- `submission_id` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `answers` object[], required
    - `key` string, required
    - `value` unknown, required
    - `source` 'api_program' | 'hedge_questions', required
    - `program_id` string, uuid, nullable: Required for api_program.
    - `question_id` string, nullable

## Response `200`

The accepted count and each refused answer

- object
  - `accepted` integer, required
  - `rejected` object[], required
    - `key` string, required
    - `reason_code` 'unknown_key' | 'invalid_value' | 'not_allowed', required
    - `message` string, required

## Other responses

- `403`: Token lacks the broker_submit scope
- `404`: Not a partner token
- `409`: `idempotency_key_reused` (same key, different body) or `answers_in_progress` (retry the same request)
- `422`: `idempotency_key_required`, `idempotency_key_invalid`, or a body validation error

## Changes

- **2026-09-29** `90c41460541f`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/hedgespecialty/apis/hedge-submission-api/changes/broker/submissions/:submission_id/answers/post.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)
