---
title: "Retrieving Form Version XLS(X)"
method: GET
path: "/v1/projects/{projectId}/forms/{xmlFormId}/versions/{version}.xlsx"
tags: ["Published Form Versions"]
---

# Retrieving Form Version XLS(X)

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

If a Form Version was created with an Excel file (`.xls` or `.xlsx`), you can get that file back by adding `.xls` or `.xlsx` as appropriate to the Form Version resource path.
This endpoint supports `ETag` header, which can be used to avoid downloading the same content more than once. When an API consumer calls this endpoint, the endpoint returns a value in `ETag` header. If you pass that value in the `If-None-Match` header of a subsequent request, then if the file has not been changed since the previous request, you will receive `304 Not Modified` response; otherwise you'll get the latest file.

## Path parameters

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

## Response `200`

OK

## Changes

- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `Retrieving Form Version XLS(X)` removed and replaced with `retrieveFormVersionXls`
- **2025-10-27** `b11b54eea487` — 1 info
  - removed the non-success response with the status `403`
- **2025-03-13** `e8c2858fd4eb` — 2 info
  - api operation id `retrieveFormVersionXls` removed and replaced with `Retrieving Form Version XLS(X)`
  - 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.xlsx/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)
