# List document versions

Source: https://docs.orbiqhq.com/docs/api/v1/documents/id/versions/get

### GET /api/v1/documents/{id}/versions

**List document versions**

List version summaries for the selected locale. The `locale` query value
takes precedence over `x-locale`; the tenant default locale is the
fallback when neither value is supplied.

**Authentication:** Bearer token (`Authorization: Bearer <token>`)

**Path parameters:**

| Name | Type | Required | Description |
|---|---|---|---|
| `id` | string (uuid) | Yes | Document UUID |

**Query parameters:**

| Name | Type | Required | Description |
|---|---|---|---|
| `locale` | string | No | Selected locale. This value takes precedence over `x-locale`. An invalid or disabled explicit value returns `400`. |

**Header parameters:**

| Name | Type | Required | Description |
|---|---|---|---|
| `x-locale` | string | No | Selected locale when the `locale` query value is not supplied. The tenant default locale is the fallback only when both locale inputs are absent. An invalid or disabled explicit value returns `400`. |

**Responses:**

- `200` - Version summaries for the selected locale
  - `versions` (array of DocumentVersionSummary (object), required)
    - `id` (string (uuid), required)
    - `key` (string, required)
    - `name` (string)
    - `status` (enum: draft | scheduled | published | archived, required)
    - `is_active` (boolean, required)
    - `date_created` (string (date-time), required)
    - `date_updated` (string (date-time), required)
    - `modified_fields` (array of string, required): Existing changed-field names. Its shape is unchanged.
- `400` - Invalid request, document UUID, source version UUID, or locale
  - `error` (string, required)

  Example (invalid_request):
  
  ```json
  {
  "error": "Invalid request."
}
  ```

  Example (locale_not_enabled):
  
  ```json
  {
  "error": "Locale is not enabled."
}
  ```
- `401` - Authentication required
  - `error` (string, required)
- `403` - Not authorized for this document
  - `error` (string, required)
- `404` - Document or version not found for the tenant and locale
  - `error` (string, required)

**Code samples:**

cURL:

```bash
curl -X GET "https://app.orbiqhq.com/api/v1/documents/550e8400-e29b-41d4-a716-446655440000/versions?locale=en" \
  -H "Authorization: Bearer $ACCESS_TOKEN"
```

JavaScript (fetch):

```js
const response = await fetch(
  "https://app.orbiqhq.com/api/v1/documents/550e8400-e29b-41d4-a716-446655440000/versions?locale=en",
  { headers: { Authorization: `Bearer ${process.env.ACCESS_TOKEN}` } }
);
if (!response.ok) throw new Error(await response.text());
const { versions } = await response.json();
```
