---
title: "Get fields for database"
method: GET
path: "/databases/{id}/fields"
tags: ["Database"]
---

# Get fields for database

`GET /databases/{id}/fields`

## Request

- Base URL: `https://no-default/wiki/api/v2`
- URL: `https://no-default/wiki/api/v2/databases/{id}/fields`
- Auth: one of:
  - HTTP basic
  - OAuth 2
    - Authorization code: `https://auth.atlassian.com/authorize`
    - Token URL: `https://auth.atlassian.com/oauth/token` scopes: `read:database:confluence`

Returns the field definitions (schema) for a database, ordered by the
user-defined column order, using cursor-based pagination.

> **Consistency:** Responses may not immediately reflect recent changes.
Clients requiring read-after-write confirmation should poll with bounded backoff.

> **Experimental:** This operation is experimental and may change in backwards-incompatible ways without notice.

**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:
Permission to view the database and its corresponding space.

## Path parameters

- `id` string, required

## Query parameters

- `limit` integer
- `cursor` string

## Headers

- `If-None-Match` string

## Response `200`

Returned if the requested database fields are returned.

- DatabaseFieldListResponse
  - `results` DatabaseField[], required
    - union: A field definition whose strict settings shape is selected by `type`.
      - DatabaseTextField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'text', required
        - `settings` DatabaseTextFieldSettings, required
          - `richText` boolean, required: `true` when the field accepts rich text (ADF).
      - DatabaseAiSummaryField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'aiSummary', required
        - `settings` DatabaseAiSummaryFieldSettings, required
          - `aiRunMetadata` DatabaseAiSummaryRunMetadata
            - `lastAiRunUserAccountId` string, nullable, required: Account ID of the user who last triggered the AI summary run.
      - DatabaseNumberField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'number', required
        - `settings` DatabaseNumberFieldSettings, required
          - `format` DatabaseNumberFormat
            - `type` 'number' | 'percent' | 'currency' | 'custom', required
            - `prefix` string: Display symbol before the value (e.g. "$").
            - `suffix` string: Display symbol after the value (e.g. "%").
            - `decimalPlaces` integer: Explicit decimal precision; absent when using the format default.
      - DatabaseCheckboxField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'checkbox', required
        - `settings` DatabaseEmptyFieldSettings, required: Field types with no type-specific settings.
      - DatabaseDateField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'date', required
        - `settings` DatabaseDateFieldSettings, required
          - `includesTime` boolean, required: When `true`, values are offset-bearing datetimes in the form `YYYY-MM-DDTHH:mm[:ss[.fraction]]Z` or the equivalent with `+/-HH:MM`. When `false`, values are date-only (`YYYY-MM-DD`).
      - DatabaseSelectField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'select', required
        - `settings` DatabaseSelectFieldSettings, required
          - `options` DatabaseSelectOption[], required: Ordered list of configured options.
            - `id` string, required
            - `label` string, required
      - DatabaseHyperlinkField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'hyperlink', required
        - `settings` DatabaseEmptyFieldSettings, required: Field types with no type-specific settings.
      - DatabaseUserField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'user', required
        - `settings` DatabaseEmptyFieldSettings, required: Field types with no type-specific settings.
      - DatabaseAttachmentField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'attachment', required
        - `settings` DatabaseEmptyFieldSettings, required: Field types with no type-specific settings.
      - DatabaseJiraIssueField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'jiraIssue', required
        - `settings` DatabaseJiraIssueFieldSettings, required
          - `cloudId` string: Connected Jira Cloud site ID.
          - `serverId` string: Connected Jira Server/Data Center site ID.
      - DatabasePageLinkField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'pageLink', required
        - `settings` DatabaseEmptyFieldSettings, required: Field types with no type-specific settings.
      - DatabaseEntryLinkField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'entryLink', required
        - `settings` DatabaseEmptyFieldSettings, required: Field types with no type-specific settings.
      - DatabaseEntryDetailsField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'entryDetails', required
        - `settings` DatabaseEntryDetailsFieldSettings, required
          - `sourceFieldId` string: The link field this lookup field derives from.
          - `lookupFieldId` string: The field being looked up.
      - DatabaseBacklinkField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'backlink', required
        - `settings` DatabaseBacklinkFieldSettings, required
          - `sourceDatabaseContentId` string: Confluence content ID of the source database.
      - DatabasePageDetailsField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'pageDetails', required
        - `settings` DatabasePageDetailsFieldSettings, required
          - `sourceFieldId` string: The page-link field this lookup derives from.
          - `pagePropertyKey` string: The selected page property key.
      - DatabasePageLabelsField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'pageLabels', required
        - `settings` DatabaseSourceFieldSettings, required
          - `sourceFieldId` string: The source field this lookup derives from.
      - DatabasePageStatusField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'pageStatus', required
        - `settings` DatabaseSourceFieldSettings, required
          - `sourceFieldId` string: The source field this lookup derives from.
      - DatabaseJiraIssueDetailsField
        - `id` string, required: Stable identifier of the field.
        - `name` string, required: User-visible field name.
        - `description` string, nullable, required: User-set field description.
        - `type` 'jiraIssueDetails', required
        - `settings` DatabaseJiraIssueDetailsFieldSettings, required
          - `sourceFieldId` string: The Jira issue field this lookup derives from.
          - `jiraFieldKey` string: The selected Jira field key.
  - `_links` DatabasesPublicApiLinks, required: Links for a Databases API representation. `self` and `next` are path-only URLs. `base` is the absolute canonical Confluence site base URL. `next` is present only when another page exists. Additional future link relations may be added without a representation-version bump.
    - `self` string, required: Path-only URL of this resource or result page.
    - `base` string, uri, required: Absolute canonical site base URL, including the `/wiki` context path.
    - `next` string: Path-only URL of the next page.
  - `meta` DatabasePaginationMeta, required
    - `pageSize` integer, required: Requested page size used to produce this page.
    - `cursor` string: Cursor that produced this page; absent on the first page.
    - `hasMore` boolean, required: Whether another page exists after this page.

## Other responses

- `304`: Returned without a body when `If-None-Match` matches the selected representation. A `304 Not Modified` means that the selected representation has not changed. It does not guarantee that a recent upstream write has finished propagating. A `304` for one endpoint, query, or page says nothing about any other representation.
- `400`: Returned for invalid pagination input. `INVALID_CURSOR` means the token is malformed or structurally invalid. `UNSUPPORTED_CURSOR_VERSION` means it decoded successfully but uses an unsupported version. `CURSOR_QUERY_MISMATCH` means a well-formed cursor was issued for a different database, collection endpoint, filter, sort, or page size. `INVALID_PAGE_LIMIT` means `limit` is outside the documented syntax or range. Restart from the first page after a query-context mismatch.
- `401`: Returned when authentication credentials are missing, invalid, or are not accepted for this operation. Only the HTTP status is part of the Databases contract.
- `403`: Returned when an authenticated request is forbidden by an applicable app access or authorization policy. Only the HTTP status is part of the Databases contract.
- `404`: Returned with `DATABASE_NOT_FOUND` when the database does not exist, cannot be returned, the feature is unavailable, or the caller lacks permission to view it. These cases are intentionally indistinguishable.
- `413`: Returned with `DATABASE_TOO_LARGE` when the database exceeds a database-wide size limit evaluated before pagination or a serialized-response size limit. The error detail identifies the limit exceeded. Pagination, filtering, and a smaller limit do not bypass the database-wide limit.
- `429`: Returned when the request is throttled by a service handling the request. This response does not guarantee a Databases error envelope or application error code. Clients must honor `Retry-After` when it is supplied. `RateLimit-Reason` is opaque limiter attribution; it and the legacy `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and `X-RateLimit-Reset` headers are conditional.
- `502`: Returned without a body when a dependent service returns `401` or `403`; when an upstream `5xx` response is unknown, malformed, untrusted, or not allowlisted; or when another dependent-service I/O failure occurs.
- `503`: Returned with `SERVICE_DISABLED` when the requested operation is not currently available, or with `SERVICE_UNAVAILABLE` when a service handling the request or a required dependency is temporarily unavailable. Clients may retry `SERVICE_UNAVAILABLE`. `Retry-After` is conditional and may be omitted; clients must honor it when present.
- `504`: Returned with `REQUEST_TIMEOUT` and a structured error when an allowlisted dependent-service response reports that the request timed out. A connection, socket, or proxy transport timeout is returned without a response body.

## Changes

- **2026-10-13** `70db057b1a05`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/atlassian/apis/the-confluence-cloud-rest-api-v2/changes/databases/:id/fields/get.md)

---

[API](https://skmtc.dev/atlassian/apis/the-confluence-cloud-rest-api-v2.md) - [All operations](https://skmtc.dev/atlassian/apis/the-confluence-cloud-rest-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/atlassian/apis/the-confluence-cloud-rest-api-v2/revisions/246e0eec8f43?raw)
