---
title: "OpenRosa Form Listing API"
method: GET
path: "/v1/projects/{projectId}/formList"
tags: ["OpenRosa Endpoints"]
---

# OpenRosa Form Listing API

`GET /v1/projects/{projectId}/formList`

This is the mostly standards-compliant implementation of the [OpenRosa Form Discovery (Listing) API](https://bitbucket.org/javarosa/javarosa/wiki/FormListAPI). We will not attempt to redocument the standard here.

The following aspects of the standard are _not_ supported by ODK Central:

* The `deviceID` may be provided with the request, but it will be ignored.

* The `Accept-Language` header may be provided with the request, but it will be ignored.

* The `?formID=` querystring parameter is not supported and will be ignored.

* The `?verbose` querystring parameter is not supported and will be ignored.

* The `?listAllVersions` querystring is not supported and will be ignored. Central does not yet support multiple active versions of the same Form.

* No `<xforms-group/>` will ever be provided, as Central does not yet support this feature.

By default, the given `<name/>` in the Form Listing response is the friendly name associated with the `Form` (`<title>` in the XML and `name` on the API resource). If no such value can be found, then the `xmlFormId` will be given as the `<name>` instead.

A `<manifestUrl/>` property will be given per `<xform>` if and only if that form is expected to have media or data file attachments associated with it, based on its XForms definition. It will appear even if no attachments have actually been uploaded to the server to fulfill those expectations.

This resource always requires authentication. If a valid Actor is authenticated at all, a form list will always be returned, filtered by what that Actor is allowed to access.

If you haven't already, please take a look at the **HTTP Request API** notes above on the required OpenRosa headers.

## Path parameters

- `projectId` number, required

## Headers

- `X-OpenRosa-Version` string

## Response `200`

OK

## Changes

- **2025-12-20** `022694254f0d` — 1 info
  - api operation id `OpenRosa Form Listing API` removed and replaced with `openrosaListForms`
- **2025-03-13** `e8c2858fd4eb` — 1 info
  - api operation id `openrosaListForms` removed and replaced with `OpenRosa Form Listing API`

[Change history](https://skmtc.dev/getodk/apis/odk-central-api/changes/v1/projects/:projectId/formList/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)
