---
title: "List valid question mention templates"
method: GET
path: "/api/v1/studies/{study_id}/available-references"
tags: ["References"]
---

# List valid question mention templates

`GET /api/v1/studies/{study_id}/available-references`

List the questions a question can reference, with insertable mention templates.

Mirrors the "@" picker in the Versive study editor: returns each previous,
taggable question along with its full-answer reference and any property
references, each carrying the exact ``{{Q:...}}`` template string to insert.
Insert the returned ``template`` verbatim into the destination question's
``content``.

Full-answer references (``{{Q:<id>}}``) are available for textInput,
shortText, multipleChoice, matrixRatingScale, ranking, allocation, and
cardSort. Structured property references are additionally available for:

- matrixRatingScale: ``ratingForItem[index]``
- ranking: ``rankOfOption[index]`` and ``optionAtRank[index]``
- allocation: ``allocationForItem[index]``
- cardSort: ``categoryForCard[index]`` and ``cardsInCategory[index]``

Property indices are zero-based. textInput, shortText, and multipleChoice
expose only the full answer.

Only non-sensitive, author-owned fields are exposed (question IDs are
intentionally included because templates require them).

## Path parameters

- `study_id` string, required

## Query parameters

- `before_question_id` string, nullable — Only return questions that appear before this question. Use when editing an existing question.
- `before_display_order` integer, nullable — Only return questions with a display_order strictly less than this value. Use when composing a not-yet-created question.

## Response `200`

Referenceable earlier questions and exact insertable mention templates.

- AvailableReferencesResponseV1
  - `references` ReferenceableQuestionV1[], required — Earlier, active questions that can be mentioned from the requested study position, ordered by display_order.
    - `question_id` string, required — Source question ID used in mention templates.
    - `display_order` integer, nullable — Zero-based position of the source question in the study.
    - `type` string, required — Source question type. Referenceable types are textInput, shortText, multipleChoice, matrixRatingScale, ranking, allocation, and cardSort.
    - `content` string, required — Source question content.
    - `label` string, required — Human-readable question label, such as Q2.
    - `available_references` AvailableReferenceItemV1[], required — Valid insertable templates for this source question. Every source has a fullAnswer item. matrixRatingScale, ranking, allocation, and cardSort also include property items; textInput, shortText, and multipleChoice do not.
      - `kind` 'fullAnswer' | 'property', required — Whether the template inserts the complete answer or one structured property/option response.
      - `label` string, required — Human-readable label for an authoring interface.
      - `template` string, required — Exact token to insert into the destination question's content. Use this value verbatim instead of constructing a token manually.
      - `property_name` string, nullable — Structured-answer selector for property references. Supported selectors: matrixRatingScale=ratingForItem; ranking=rankOfOption or optionAtRank; allocation=allocationForItem; cardSort=categoryForCard or cardsInCategory. Null for a full-answer reference.
      - `property_index` integer, nullable — Zero-based index into the source question's options, categories, or rank positions. Null for a full-answer reference.
      - `option` string, nullable — The option, category, or rank-position label selected by this property reference. Null for a full-answer reference.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/getversive/apis/versive-public-api.md) · [All operations](https://skmtc.dev/getversive/apis/versive-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getversive/versive-public-api/revisions/00e66dd838cc/schema)
