---
title: "Getting Form Version Details"
method: GET
path: "/v1/projects/{projectId}/forms/{xmlFormId}/versions/{version}"
tags: ["Published Form Versions"]
---

# Getting Form Version Details

`GET /v1/projects/{projectId}/forms/{xmlFormId}/versions/{version}`

Since the XForms specification allows blank strings as `version`s (and Central treats the lack of a `version` as a blank string), you may run into trouble using this resource if you have such a Form. In this case, pass the special value `___` (three underscores) as the `version` to retrieve the blank `version` version.

## Path parameters

- `projectId` number, required
- `xmlFormId` string, required
- `version` string, required

## Response `200`

OK

- Form
  - `projectId` number, required — The `id` of the project this form belongs to.
  - `xmlFormId` string, required — The `id` of this form as given in its XForms XML definition
  - `name` string — The friendly name of this form. It is given by the `<title>` in the XForms XML definition.
  - `version` string, required — The `version` of this form as given in its XForms XML definition. If no `version` was specified in the Form, a blank string will be given.
  - `enketoId` string — If it exists, this is the survey ID of this Form on Enketo at `/-`. This will be the ID of the published version if it exists, otherwise it will be the draft ID. Only a cookie-authenticated user may access the preview through Enketo.
  - `hash` string, required — An MD5 sum automatically computed based on the XForms XML definition. This is required for OpenRosa compliance.
  - `keyId` number — If a public encryption key is present on the form, its numeric ID as tracked by Central is given here.
  - `state` 'open' | 'closing' | 'closed', required
  - `publishedAt` string — Indicates when a draft has most recently been published for this Form. If this value is `null`, this Form has never been published yet, and contains only a draft.
  - `createdAt` string, required — ISO date format
  - `updatedAt` string — ISO date format
  - `webformsEnabled` boolean — Enables use of ODK Web Forms instead of Enketo for filling Forms via web browsers.

## Changes

- **2026-05-22** `fadfadd0e94e` — 1 info
  - added the media type `application/json; extended` for the response with the status `200`
- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Getting Form Version Details` removed and replaced with `getFormVersionDetails`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-03-13** `e8c2858fd4eb` — 1 breaking, 2 info
  - removed the media type `application/json; extended` for the response with the status `200`
  - api operation id `getFormVersionDetails` removed and replaced with `Getting Form Version Details`
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/forms/:xmlFormId/versions/:version/get.md)

---

[API](https://skmtc.dev/getodk/apis/odk-central-api.md) · [All operations](https://skmtc.dev/getodk/apis/odk-central-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/getodk/odk-central-api/revisions/d4f5ba77f644/schema)
