---
title: "Get which variables each section of a policy version can read"
method: GET
path: "/api/policy_version/{version}/section_availability"
tags: ["Policy Versions"]
---

# Get which variables each section of a policy version can read

`GET /api/policy_version/{version}/section_availability`

## Request

- Base URL: `https://app.herondata.io`
- URL: `https://app.herondata.io/api/policy_version/{version}/section_availability`
- Auth: API key in header `x-api-key`

For each section, the variables every deal has by the time the section runs in the default workflow, those only some workflow paths produce, and those no path produces yet, with the step after which a missing variable becomes available. Heron sessions only, impersonation included, while it is tested.

## Path parameters

- `version` integer, required

## Query parameters

- `user_id` integer

## Response `200`

OK

- PolicyVersionSectionAvailabilitySchema
  - `sections` SectionAvailability[], required: A variable in none of a section's lists, and not in variables_not_in_workflow, is available
    - `partially_available_variables` VariableAvailability[], required: Variables only some workflow paths produce before this section; missing data on the others
      - `attribute_label` string, required
      - `available_after` AvailableAfter
        - `label` string, required: Customer-facing name of the step
        - `producers` Producer[], required: The data this step writes that the variable needs
          - `key` string, nullable: The parser, enricher or node, for kinds that name one
          - `kind` 'bank_statements' | 'enriched_transactions' | 'positions' | 'parsed_file' | 'parsed_submission' | 'enricher' | 'node_output' | 'entity_graph' | 'company_attribute' | 'materialisation_attribute', required
    - `section_heron_id` string, nullable: Match sections on this
    - `section_name` string, required
    - `unavailable_variables` VariableAvailability[], required: Variables the workflow produces, but on no path before this section
      - `attribute_label` string, required
      - `available_after` AvailableAfter
        - `label` string, required: Customer-facing name of the step
        - `producers` Producer[], required: The data this step writes that the variable needs
          - `key` string, nullable: The parser, enricher or node, for kinds that name one
          - `kind` 'bank_statements' | 'enriched_transactions' | 'positions' | 'parsed_file' | 'parsed_submission' | 'enricher' | 'node_output' | 'entity_graph' | 'company_attribute' | 'materialisation_attribute', required
    - `unverified_variables` VariableAvailability[], required: Variables whose routes were too many to check; treat as unavailable and say why
      - `attribute_label` string, required
      - `available_after` AvailableAfter
        - `label` string, required: Customer-facing name of the step
        - `producers` Producer[], required: The data this step writes that the variable needs
          - `key` string, nullable: The parser, enricher or node, for kinds that name one
          - `kind` 'bank_statements' | 'enriched_transactions' | 'positions' | 'parsed_file' | 'parsed_submission' | 'enricher' | 'node_output' | 'entity_graph' | 'company_attribute' | 'materialisation_attribute', required
  - `variables_not_in_workflow` string[], required: Variables no step in the workflow produces, so no section can read them

## Other responses

- `404`: Policy version not found

## Changes

- **2026-11-03** `bd8008e49534`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/herondata/apis/heron-data-api/changes/api/policy_version/:version/section_availability/get.md)

---

[API](https://skmtc.dev/herondata/apis/heron-data-api.md) - [All operations](https://skmtc.dev/herondata/apis/heron-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/herondata/apis/heron-data-api/revisions/1ec936e17fef?raw)
