Skip to content

databases ​

add-permissions ​

Add database permissions

Adds or replaces direct content permissions for the specified principals on a database. Permissions for other principals are preserved; use PUT to replace all permissions at once.

A principal can hold only one read or update permission. Adding read for a principal that currently has update downgrades that principal to read; adding update upgrades them. If the same request contains both operations for a principal, update takes precedence.

Reasserting a principal's existing permission is idempotent and returns a successful response without creating a duplicate entry.

Permissions required: Permission to edit the database or administer the space.

POST /databases/{id}/permissions

FlagTypeRequiredDescription
--allow-self-lockoutstringNoIf false (default), the request is rejected when it would remove the calling user's own edit access.
Set to true to allow the operation even when it locks out the caller.
--bodystringNorequest body (JSON string, @file, or - for stdin)
--idstringYesThe ID of the database.

Example:

bash
cf databases add-permissions --id <id>

create ​

Create database

Creates a database in the space.

Permissions required: Permission to view the corresponding space. Permission to create a database in the space.

POST /databases

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--privatestringNoThe database will be private. Only the user who creates this database will have permission to view and edit one.

Example:

bash
cf databases create

create-property ​

Create content property for database

Creates a new content property for a database.

Permissions required: Permission to update the database.

POST /databases/{id}/properties

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--idstringYesThe ID of the database to create a property for.

Example:

bash
cf databases create-property --id <id>

delete ​

Delete database

Delete a database by id.

Deleting a database moves the database to the trash, where it can be restored later

Permissions required: Permission to view the database and its corresponding space. Permission to delete databases in the space.

DELETE /databases/{id}

FlagTypeRequiredDescription
--idstringYesThe ID of the database to be deleted.

Example:

bash
cf databases delete --id <id>

delete-permissions ​

Delete database permissions

Deletes direct content permissions from a database. See DELETE /pages/{id}/permissions for filter semantics.

Permissions required: Permission to edit the database or administer the space.

DELETE /databases/{id}/permissions

FlagTypeRequiredDescription
--allow-self-lockoutstringNoIf false (default), the request is rejected when it would remove the calling user's own edit access.
Set to true to allow the operation even when it locks out the caller.
--idstringYesThe ID of the database.
--operationstringNoFilter by operation. Must be provided together with principal-type and principal-id.
--principal-idstringNoFilter by principal ID. Must be provided together with principal-type.
--principal-typestringNoFilter by principal type. Must be provided together with principal-id.

Example:

bash
cf databases delete-permissions --id <id>

delete-property-by-id ​

Delete content property for database by id

Deletes a content property for a database by its id.

Permissions required: Permission to edit the database.

DELETE /databases/{database-id}/properties/{property-id}

FlagTypeRequiredDescription
--database-idstringYesThe ID of the database the property belongs to.
--property-idstringYesThe ID of the property to be deleted.

Example:

bash
cf databases delete-property-by-id --database-id <database-id> --property-id <property-id>

get-ancestors ​

Get all ancestors of database

Returns all ancestors for a given database by ID in top-to-bottom order (that is, the highest ancestor is the first item in the response payload). The number of results is limited by the limit parameter and additional results (if available) will be available by calling this endpoint with the ID of first ancestor in the response payload.

This endpoint returns minimal information about each ancestor. To fetch more details, use a related endpoint, such as Get database by id.

Permissions required: Permission to access the Confluence site ('Can use' global permission). Permission to view the database and its corresponding space

GET /databases/{id}/ancestors

FlagTypeRequiredDescription
--idstringYesThe ID of the database.
--limitstringNoMaximum number of items per result to return. If more results exist, call the endpoint with the highest ancestor's ID to fetch the next set of results.

Example:

bash
cf databases get-ancestors --id <id>

get-by-id ​

Get database by id

Returns a specific database.

Permissions required: Permission to view the database and its corresponding space.

GET /databases/{id}

FlagTypeRequiredDescription
--idstringYesThe ID of the database to be returned
--include-collaboratorsstringNoIncludes collaborators on the database.
--include-direct-childrenstringNoIncludes direct children of the database, as defined in the ChildrenResponse object.
--include-operationsstringNoIncludes operations associated with this database in the response, as defined in the Operation object.
The number of results will be limited to 50 and sorted in the default sort order.
A meta and _links property will be present to indicate if more results are available and a link to retrieve the rest of the results.
--include-propertiesstringNoIncludes content properties associated with this database in the response.
The number of results will be limited to 50 and sorted in the default sort order.
A meta and _links property will be present to indicate if more results are available and a link to retrieve the rest of the results.

Example:

bash
cf databases get-by-id --id <id>

get-classification-level ​

Get database classification level

Returns the classification level for a specific database.

Permissions required: 'Permission to access the Confluence site ('Can use' global permission) and permission to view the database.

GET /databases/{id}/classification-level

FlagTypeRequiredDescription
--idstringYesThe ID of the database for which classification level should be returned.

Example:

bash
cf databases get-classification-level --id <id>

get-content-properties ​

Get content properties for database

Retrieves Content Properties tied to a specified database.

Permissions required: Permission to view the database.

GET /databases/{id}/properties

FlagTypeRequiredDescription
--cursorstringNoUsed for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results.
--idstringYesThe ID of the database for which content properties should be returned.
--keystringNoFilters the response to return a specific content property with matching key (case sensitive).
--limitstringNoMaximum number of attachments per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results.
--sortstringNoUsed to sort the result by a particular field.

Example:

bash
cf databases get-content-properties --id <id>

get-content-properties-by-id ​

Get content property for database by id

Retrieves a specific Content Property by ID that is attached to a specified database.

Permissions required: Permission to view the database.

GET /databases/{database-id}/properties/{property-id}

FlagTypeRequiredDescription
--database-idstringYesThe ID of the database for which content properties should be returned.
--property-idstringYesThe ID of the content property being requested.

Example:

bash
cf databases get-content-properties-by-id --database-id <database-id> --property-id <property-id>

get-descendants ​

Get descendants of a database

Returns descendants in the content tree for a given database by ID in top-to-bottom order (that is, the highest descendant is the first item in the response payload). The number of results is limited by the limit parameter and additional results (if available) will be available by calling this endpoint with the cursor in the response payload. There is also a depth parameter specifying depth of descendants to be fetched.

The following types of content will be returned:

  • Database
  • Embed
  • Folder
  • Page
  • Whiteboard

This endpoint returns minimal information about each descendant. To fetch more details, use a related endpoint based on the content type, such as:

Permissions required: Permission to access the Confluence site ('Can use' global permission). Permission to view the database and its corresponding space

GET /databases/{id}/descendants

FlagTypeRequiredDescription
--cursorstringNoUsed for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results.
--depthstringNoMaximum depth of descendants to return. If more results are required, use the endpoint corresponding to the content type of the deepest descendant to fetch more descendants.
--idstringYesThe ID of the database.
--limitstringNoMaximum number of items per result to return. If more results exist, call the endpoint with the cursor to fetch the next set of results.

Example:

bash
cf databases get-descendants --id <id>

get-direct-children ​

Get direct children of a database

Returns all children for given database id in the content tree. The number of results is limited by the limit parameter and additional results (if available) will be available through the next URL present in the Link response header.

The following types of content will be returned:

  • Database
  • Embed
  • Folder
  • Page
  • Whiteboard

This endpoint returns minimal information about each child. To fetch more details, use a related endpoint based on the content type, such as:

Permissions required: Permission to access the Confluence site ('Can use' global permission). Only content that the user has permission to view will be returned.

GET /databases/{id}/direct-children

FlagTypeRequiredDescription
--cursorstringNoUsed for pagination, this opaque cursor will be returned in the next URL in the Link response header. Use the relative URL in the Link header to retrieve the next set of results.
--idstringYesThe ID of the parent database.
--limitstringNoMaximum number of items per result to return. If more results exist, use the Link header to retrieve a relative URL that will return the next set of results.
--sortstringNoUsed to sort the result by a particular field.

Example:

bash
cf databases get-direct-children --id <id>

get-entries ​

Get entries for database

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

FlagTypeRequiredDescription
--cursorstringNoOpaque, 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. | | --filter | string | No | 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 type | Operators | | --- | --- | | text | eq, $empty | | number | eq, in, gte, lte, gt, lt, $empty | | checkbox | eq | | date | eq, gte, lte, gt, lt, $empty | | select | eq, in, $empty | | user, pageLink, jiraIssue, entryLink | eq, in, $empty | | attachment | $empty only | | all other field types | not 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. | | --id | string | Yes | The Confluence content ID of the database, represented as an ASCII decimal-digit string. | | --limit | string | No | 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. | | --sort | string | No | 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. |

Example:

bash
cf databases get-entries --id <id>

get-entry-by-id ​

Get entry by id

Returns a single entry (row) from a database by ID.

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/{entryId}

FlagTypeRequiredDescription
--entryIdstringYesThe ID of the entry to be returned.
--idstringYesThe Confluence content ID of the database, represented as an ASCII decimal-digit string.

Example:

bash
cf databases get-entry-by-id --entryId <entryId> --id <id>

get-fields ​

Get fields for database

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

GET /databases/{id}/fields

FlagTypeRequiredDescription
--cursorstringNoOpaque, 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. | | --id | string | Yes | The Confluence content ID of the database, represented as an ASCII decimal-digit string. | | --limit | string | No | 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. |

Example:

bash
cf databases get-fields --id <id>

get-operations ​

Get permitted operations for a database

Returns the permitted operations on specific database.

Permissions required: Permission to view the database and its corresponding space.

GET /databases/{id}/operations

FlagTypeRequiredDescription
--idstringYesThe ID of the database for which operations should be returned.

Example:

bash
cf databases get-operations --id <id>

get-permissions ​

Get database permissions

Returns the direct content permissions on a database with optional filtering. Results are cursor-paginated (max 250 per page).

Permissions required: Permission to view the database.

GET /databases/{id}/permissions

FlagTypeRequiredDescription
--cursorstringNoOpaque cursor for pagination. Use the value from the previous response's _links.next.
--idstringYesThe ID of the database.
--limitstringNoMaximum number of permission entries to return. Must be between 1 and 250.
--operationstringNoFilter by operation (read or update).
--principal-idstringNoFilter by principal ID. Must be provided together with principal-type.
--principal-typestringNoFilter by principal type (user or group). May be used without principal-id to return all permissions for that type.

Example:

bash
cf databases get-permissions --id <id>

get-restriction-state ​

Get database restriction state

Returns the restriction state of a database.

Permissions required: Permission to view the database.

GET /databases/{id}/restriction-state

FlagTypeRequiredDescription
--idstringYesThe ID of the database.

Example:

bash
cf databases get-restriction-state --id <id>

get-views ​

Get views for database

Returns the views defined on a database using cursor-based pagination. Only view IDs, names, and types are returned; view configuration is not exposed.

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}/views

FlagTypeRequiredDescription
--cursorstringNoOpaque, 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. | | --id | string | Yes | The Confluence content ID of the database, represented as an ASCII decimal-digit string. | | --limit | string | No | 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. |

Example:

bash
cf databases get-views --id <id>

post-classification-level ​

Reset database classification level

Resets the classification level for a specific database for the space default classification level.

Permissions required: 'Permission to access the Confluence site ('Can use' global permission) and permission to view the database.

POST /databases/{id}/classification-level/reset

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--idstringYesThe ID of the database for which classification level should be updated.

Example:

bash
cf databases post-classification-level --id <id>

put-classification-level ​

Update database classification level

Updates the classification level for a specific database.

Permissions required: 'Permission to access the Confluence site ('Can use' global permission) and permission to edit the database.

PUT /databases/{id}/classification-level

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--idstringYesThe ID of the database for which classification level should be updated.

Example:

bash
cf databases put-classification-level --id <id>

set-permissions ​

Set database permissions

Replaces all direct content permissions on a database with the provided set.

Permissions required: Permission to edit the database or administer the space.

PUT /databases/{id}/permissions

FlagTypeRequiredDescription
--allow-self-lockoutstringNoIf false (default), the request is rejected when it would remove the calling user's own edit access.
Set to true to allow the operation even when it locks out the caller.
--bodystringNorequest body (JSON string, @file, or - for stdin)
--idstringYesThe ID of the database.

Example:

bash
cf databases set-permissions --id <id>

set-restriction-state ​

Set database restriction state

Sets the restriction state of a database.

Permissions required: Permission to edit the database or administer the space.

PUT /databases/{id}/restriction-state

FlagTypeRequiredDescription
--allow-self-lockoutstringNoIf false (default), the request is rejected when it would remove the calling user's own edit access.
Set to true to allow the operation even when it locks out the caller.
--bodystringNorequest body (JSON string, @file, or - for stdin)
--idstringYesThe ID of the database.

Example:

bash
cf databases set-restriction-state --id <id>

update-property-by-id ​

Update content property for database by id

Update a content property for a database by its id.

Permissions required: Permission to edit the database.

PUT /databases/{database-id}/properties/{property-id}

FlagTypeRequiredDescription
--bodystringNorequest body (JSON string, @file, or - for stdin)
--database-idstringYesThe ID of the database the property belongs to.
--property-idstringYesThe ID of the property to be updated.

Example:

bash
cf databases update-property-by-id --database-id <database-id> --property-id <property-id>