Database

Get entries for database

Changed on

Returns the entries (rows) of a database, with optional filtering, sorting, and cursor-based pagination. Entry values are keyed by field ID; use Get fields for database (GET /databases/{id}/fields) to map field IDs to names.

Filtering is expressed with bracket-scoped query parameters keyed on field ID. The exact operators vary by field type and are documented on the filter parameter. Multiple filters are combined with AND. Unsupported operators and non-filterable fields return distinct structured 400 responses.

Pagination uses opaque, offset-based continuation tokens and is best effort while a database is changing. Concurrent inserts, deletes, or changes to a sort value can cause duplicate or omitted rows across pages. Restart from the first page when a consistent export is required.

Results are based on the database, not a particular view. A view's filters, sorting, grouping, and field visibility do not affect the response.

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 required: Permission to view the database and its corresponding space.

get/databases/{id}/entries

Request

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

Path parameters

idstring required

The Confluence content ID of the database, represented as an ASCII decimal-digit string.

Query parameters

limitinteger

Maximum number of results to return. The value must be a positive integer without a sign, decimal point, or leading zero. The default is 50 and the maximum is 250.

cursorstring

Opaque, offset-based continuation token obtained from _links.next or the Link response header. A cursor is scoped to the database, collection endpoint, filters, sort, and page size that produced it. Reusing a well-formed cursor with any different query context returns CURSOR_QUERY_MISMATCH; malformed or structurally invalid cursors return INVALID_CURSOR, and a decoded but unsupported version returns UNSUPPORTED_CURSOR_VERSION.

Cursor versions remain decodable for at least 24 hours, but the API does not promise TTL-expiration detection. Cursors are continuation state, not caller-scoped credentials, and authorization is re-evaluated on every request. Their query-context fingerprint is unsigned and must not be treated as authentication or tamper protection.

Pagination is best effort under concurrent mutation. Inserts, deletes, or changes to sort values can cause duplicate or omitted rows; restart from the first page when a consistent export is required.

sortstring

Used to sort the result by a single field ID. Prefix the field ID with - to sort in descending order. Text, number, checkbox, date, select, and hyperlink fields are sortable. Other field types return FIELD_NOT_SORTABLE. The fieldId:modifier form is reserved and returns UNSUPPORTED_SORT_MODIFIER.

Empty values sort after non-empty values in both directions. Text uses the projected plain value and fixed, locale-independent en-US collation with numeric comparison and upper-case before lower-case. Numbers compare numerically, checkboxes order false before true, and select values use configured option order. Date-only values compare chronologically; datetime values compare as absolute UTC instants. For hyperlinks, each link's key is its non-empty label or, when the label is absent or empty, its URL. A multi-link value uses the minimum link key under the same fixed string collation. AI Summary and all dependency-backed field types are not sortable.

filterobject

Filters entries by field value. Bracket-scoped on field ID, for example filter[fieldId]=value. The grammar forms are:

  • filter[fieldId]=value (implicit equality)
  • filter[fieldId]=eq:value (explicit equality)
  • filter[fieldId]=in:value1,value2
  • filter[fieldId]=$empty
  • filter[fieldId][gte|lte|gt|lt]=value (date and number fields only)

The supported capability matrix is:

Field typeOperators
texteq, $empty
numbereq, in, gte, lte, gt, lt, $empty
checkboxeq
dateeq, gte, lte, gt, lt, $empty
selecteq, in, $empty
user, pageLink, jiraIssue, entryLinkeq, in, $empty
attachment$empty only
all other field typesnot filterable

Bare equality and eq: use projected scalar identifiers; in: uses a comma-separated list of those identifiers. Text and reference-field values remain strings even when they resemble booleans, null, numbers, operators, or sentinels. Checkbox accepts only boolean equality, and an unset checkbox is treated as false. Date values must match the field's includesTime mode: YYYY-MM-DD for a date-only field, or an offset-bearing datetime for a datetime field. Number values are canonical finite decimals.

An initial <prefix>: is operator-like only when the colon is not immediately followed by /, so a URL such as https://example.com is an ordinary bare literal. A recognized leading eq: or in: selects that operator; any unknown operator-like prefix is an unsupported operator. Use explicit equality to escape a literal containing such a prefix, for example eq:foo:bar. A leading $ is reserved for sentinels: $empty is accepted only where the matrix lists it, while eq:$value compares the literal string $value. An unknown bare $... value returns INVALID_FILTER. The in: syntax treats every comma as a value delimiter and provides no escaping for commas within a member. Use equality for a single comma-bearing literal; such a literal cannot be included as one member of a multi-value in: expression. An unknown operator, or an operator unsupported by the referenced field type, returns UNSUPPORTED_FILTER_OPERATOR. A field type with no filtering support returns FIELD_NOT_FILTERABLE.

Note: This two-level nesting pattern is not represented portably across OpenAPI generators. Consumers may need to construct the bracket-scoped parameter names explicitly.

Headers

If-None-Matchstring

One or more entity tags previously returned for this exact request URL. A matching strong or weak validator returns 304 with no response body.

Response

Returned if the requested database entries are returned.

Changes