Bookmarks

List all bookmarks.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "creation_date" "-creation_date" "vdb_ids" "-vdb_ids" "retention" "-retention" "expiration" "-expiration" "data_timestamp" "-data_timestamp" "timeflow_id" "-timeflow_id" "location" "-location"
Example: sort=id
Responses
200

OK

get/bookmarks
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Create a bookmark at the current time.

SecurityApiKeyAuth
Request
Request Body schema: application/json
required

The parameters to create a bookmark.

name
required
string [ 1 .. 256 ] characters

The user-defined name of this bookmark.

vdb_ids
Array of strings unique

The IDs of the VDBs to create the Bookmark on. This parameter is mutually exclusive with snapshot_ids and timeflow_ids.

vdb_group_id
string [ 1 .. 256 ] characters

The ID of the VDB group to create the Bookmark on. This parameter is mutually exclusive with vdb_ids.

snapshot_ids
Array of strings unique

The IDs of the snapshots that will be part of the Bookmark. This parameter is mutually exclusive with vdb_ids, timestamp, timestamp_in_database_timezone, location and timeflow_ids.

timeflow_ids
Array of strings unique

The array of timeflow Id. Only allowed to set when timestamp, timestamp_in_database_timezone or location is provided.

timestamp
string <date-time>

The point in time from which to execute the operation. Mutually exclusive with snapshot_ids, timestamp_in_database_timezone and location.

timestamp_in_database_timezone
string[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:...

The point in time from which to execute the operation, expressed as a date-time in the timezone of the source database. Mutually exclusive with snapshot_ids, timestamp and location.

location
string [ 1 .. 256 ] characters

The location to create bookmark from. Mutually exclusive with snapshot_ids, timestamp, and timestamp_in_database_timezone.

retention
integer <int64>
Deprecated

The retention policy for this bookmark, in days. A value of -1 indicates the bookmark should be kept forever. Deprecated in favor of expiration and retain_forever.

expiration
string <date>

The expiration for this bookmark. Mutually exclusive with retention and retain_forever.

retain_forever
boolean

Indicates that the bookmark should be retained forever.

Array of objects (Tag)

The tags to be created for this Bookmark.

bookmark_type
string
Default: "PRIVATE"

Type of the bookmark, either PUBLIC or PRIVATE.

Enum: "PUBLIC" "PRIVATE"
make_current_account_owner
boolean
Default: true

Whether the account creating this bookmark must be configured as owner of the bookmark.

inherit_parent_vdb_tags
boolean
Deprecated
Default: false

This field has been deprecated in favour of new field 'inherit_parent_tags'.

inherit_parent_tags
boolean
Default: false

Whether this bookmark should inherit tags from the parent dataset.

Responses
201

OK

post/bookmarks
Request samples
application/json
{
  • "name": "my-bookmark-123",
  • "vdb_ids": [
    ],
  • "vdb_group_id": "vdb-group-123",
  • "snapshot_ids": [
    ],
  • "timeflow_ids": [
    ],
  • "timestamp": "2021-05-01T08:51:34.148Z",
  • "timestamp_in_database_timezone": "2021-08-14T14:55:20.507Z",
  • "location": "112233",
  • "retention": 365,
  • "expiration": "2021-07-04T00:00:00.000Z",
  • "retain_forever": false,
  • "tags": [
    ],
  • "bookmark_type": "PUBLIC",
  • "make_current_account_owner": true,
  • "inherit_parent_vdb_tags": false,
  • "inherit_parent_tags": false
}
Response samples
application/json
{
  • "bookmark": {
    },
  • "job": {
    }
}

Search for bookmarks.

SecurityApiKeyAuth
Request
query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "creation_date" "-creation_date" "vdb_ids" "-vdb_ids" "retention" "-retention" "expiration" "-expiration" "data_timestamp" "-data_timestamp" "timeflow_id" "-timeflow_id" "location" "-location"
Example: sort=id
Request Body schema: application/json

A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.

Filter Expression Overview

Note: All keywords are case-insensitive

Comparison Operators

Operator Description Example
CONTAINS Substring or membership testing for string and list attributes respectively. field3 CONTAINS 'foobar', field4 CONTAINS TRUE
IN Tests if field is a member of a list literal. List can contain a maximum of 100 values field2 IN ['Goku', 'Vegeta']
GE Tests if a field is greater than or equal to a literal value field1 GE 1.2e-2
GT Tests if a field is greater than a literal value field1 GT 1.2e-2
LE Tests if a field is less than or equal to a literal value field1 LE 9000
LT Tests if a field is less than a literal value field1 LT 9.02
NE Tests if a field is not equal to a literal value field1 NE 42
EQ Tests if a field is equal to a literal value field1 EQ 42

Search Operator

The SEARCH operator filters for items which have any filterable attribute that contains the input string as a substring, comparison is done case-insensitively. This is not restricted to attributes with string values. Specifically SEARCH '12' would match an item with an attribute with an integer value of 123.

Logical Operators

Ordered by precedence.

Operator Description Example
NOT Logical NOT (Right associative) NOT field1 LE 9000
AND Logical AND (Left Associative) field1 GT 9000 AND field2 EQ 'Goku'
OR Logical OR (Left Associative) field1 GT 9000 OR field2 EQ 'Goku'

Grouping

Parenthesis () can be used to override operator precedence.

For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')

Literal Values

Literal Description Examples
Nil Represents the absence of a value nil, Nil, nIl, NIL
Boolean true/false boolean true, false, True, False, TRUE, FALSE
Number Signed integer and floating point numbers. Also supports scientific notation. 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2
String Single or double quoted "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar'
Datetime Formatted according to RFC3339 2018-04-27T18:39:26.397237+00:00
List Comma-separated literals wrapped in square brackets [0], [0, 1], ['foo', "bar"]

Limitations

  • A maximum of 8 unique identifiers may be used inside a filter expression.
filter_expression
string [ 5 .. 2000 ] characters
Responses
200

OK

post/bookmarks/search
Request samples
application/json

An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.

{
  • "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Get a bookmark by ID.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

Responses
200

OK

get/bookmarks/{bookmarkId}
Response samples
application/json
{
  • "id": "bookmark-123",
  • "name": "my-bookmark-123",
  • "creation_date": "2021-07-04T08:51:34.148Z",
  • "data_timestamp": "2021-06-03T08:51:34.148Z",
  • "timeflow_id": "1-TIMEFLOW-1",
  • "location": "200000",
  • "vdb_ids": [
    ],
  • "dsource_ids": [
    ],
  • "vdb_group_id": "vdb-group-123",
  • "vdb_group_name": "my-vdb-group",
  • "vdbs": [
    ],
  • "dsources": [
    ],
  • "retention": 365,
  • "expiration": "2021-07-04T00:00:00.000Z",
  • "status": "RESTORED",
  • "replicated_dataset": true,
  • "bookmark_source": "DCT",
  • "bookmark_status": "ACTIVE",
  • "ss_data_layout_id": "string",
  • "ss_bookmark_reference": "string",
  • "ss_bookmark_errors": [
    ],
  • "bookmark_type": "PRIVATE",
  • "tags": [
    ]
}

Delete a bookmark.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

Responses
204

No Content

delete/bookmarks/{bookmarkId}

Update a bookmark

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

Request Body schema: application/json

The new data to update a Bookmark.

name
string [ 1 .. 256 ] characters

The user-defined name of this bookmark.

expiration
string <date>

The expiration for this Bookmark. Mutually exclusive with retain_forever.

retain_forever
boolean

Indicates that the Bookmark should be retained forever.

bookmark_type
string

Type of the bookmark, either PUBLIC or PRIVATE.

Enum: "PUBLIC" "PRIVATE"
Responses
200

Bookmark update initiated.

patch/bookmarks/{bookmarkId}
Request samples
application/json
{
  • "name": "my-bookmark-123",
  • "expiration": "2021-07-04T00:00:00.000Z",
  • "retain_forever": false,
  • "bookmark_type": "PUBLIC"
}
Response samples
application/json
{
  • "job": {
    }
}

List VDB Groups compatible with this bookmark.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "locked_by" "-locked_by" "locked_by_name" "-locked_by_name" "database_type" "-database_type" "status" "-status" "last_successful_refresh_to_bookmark_id" "-last_successful_refresh_to_bookmark_id" "last_successful_refresh_time" "-last_successful_refresh_time"
Example: sort=id
Responses
200

OK

get/bookmarks/{bookmarkId}/vdb-groups
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Search for VDB Groups compatible with this bookmark.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

query Parameters
limit
integer [ 1 .. 1000 ]
Default: 100

Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

Example: limit=50
cursor
string [ 1 .. 4096 ] characters

Cursor to fetch the next or previous page of results. The value of this property must be extracted from the 'prev_cursor' or 'next_cursor' property of a PaginatedResponseMetadata which is contained in the response of list and search API endpoints.

sort
string or null

The field to sort results by. A property name with a prepended '-' signifies descending order.

Enum: "id" "-id" "name" "-name" "locked_by" "-locked_by" "locked_by_name" "-locked_by_name" "database_type" "-database_type" "status" "-status" "last_successful_refresh_to_bookmark_id" "-last_successful_refresh_to_bookmark_id" "last_successful_refresh_time" "-last_successful_refresh_time"
Example: sort=id
Request Body schema: application/json

A request body containing a filter expression. This enables searching for items matching arbitrarily complex conditions. The list of attributes which can be used in filter expressions is available in the x-filterable vendor extension.

Filter Expression Overview

Note: All keywords are case-insensitive

Comparison Operators

Operator Description Example
CONTAINS Substring or membership testing for string and list attributes respectively. field3 CONTAINS 'foobar', field4 CONTAINS TRUE
IN Tests if field is a member of a list literal. List can contain a maximum of 100 values field2 IN ['Goku', 'Vegeta']
GE Tests if a field is greater than or equal to a literal value field1 GE 1.2e-2
GT Tests if a field is greater than a literal value field1 GT 1.2e-2
LE Tests if a field is less than or equal to a literal value field1 LE 9000
LT Tests if a field is less than a literal value field1 LT 9.02
NE Tests if a field is not equal to a literal value field1 NE 42
EQ Tests if a field is equal to a literal value field1 EQ 42

Search Operator

The SEARCH operator filters for items which have any filterable attribute that contains the input string as a substring, comparison is done case-insensitively. This is not restricted to attributes with string values. Specifically SEARCH '12' would match an item with an attribute with an integer value of 123.

Logical Operators

Ordered by precedence.

Operator Description Example
NOT Logical NOT (Right associative) NOT field1 LE 9000
AND Logical AND (Left Associative) field1 GT 9000 AND field2 EQ 'Goku'
OR Logical OR (Left Associative) field1 GT 9000 OR field2 EQ 'Goku'

Grouping

Parenthesis () can be used to override operator precedence.

For example: NOT (field1 LT 1234 AND field2 CONTAINS 'foo')

Literal Values

Literal Description Examples
Nil Represents the absence of a value nil, Nil, nIl, NIL
Boolean true/false boolean true, false, True, False, TRUE, FALSE
Number Signed integer and floating point numbers. Also supports scientific notation. 0, 1, -1, 1.2, 0.35, 1.2e-2, -1.2e+2
String Single or double quoted "foo", "bar", "foo bar", 'foo', 'bar', 'foo bar'
Datetime Formatted according to RFC3339 2018-04-27T18:39:26.397237+00:00
List Comma-separated literals wrapped in square brackets [0], [0, 1], ['foo', "bar"]

Limitations

  • A maximum of 8 unique identifiers may be used inside a filter expression.
filter_expression
string [ 5 .. 2000 ] characters
Responses
200

OK

post/bookmarks/{bookmarkId}/vdb-groups/search
Request samples
application/json

An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0.

{
  • "filter_expression": "repositories CONTAINS {version eq '19.0.0'}"
}
Response samples
application/json
{
  • "items": [
    ],
  • "response_metadata": {
    }
}

Get tags for a Bookmark.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

Responses
200

Ok

get/bookmarks/{bookmarkId}/tags
Response samples
application/json
{
  • "tags": [
    ]
}

Create tags for a Bookmark.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

Request Body schema: application/json
required

Tags information for Bookmark.

required
Array of objects (Tag) [ 1 .. 1000 ] items unique

Array of tags with key value pairs

Responses
201

Created

post/bookmarks/{bookmarkId}/tags
Request samples
application/json
{
  • "tags": [
    ]
}
Response samples
application/json
{
  • "tags": [
    ]
}

Delete tags for a Bookmark.

SecurityApiKeyAuth
Request
path Parameters
bookmarkId
required
string non-empty

The ID of the Bookmark.

Request Body schema: application/json

The parameters to delete tags

key
string [ 1 .. 4000 ] characters

Key of the tag

value
string [ 1 .. 4000 ] characters

Value of the tag

Array of objects (Tag) [ 1 .. 1000 ] items unique

List of tags to be deleted

Responses
204

No Content

post/bookmarks/{bookmarkId}/tags/delete
Request samples
application/json

Delete all tags for given object - No request body required

{ }

Import engine bookmarks to DCT.

SecurityApiKeyAuth
Request
path Parameters
engineId
required
string

The ID of the registered engine.

Responses
200

Ok

post/bookmarks/import-engine-bookmarks/{engineId}
Response samples
application/json
{
  • "job_id": "job-1",
  • "job": {
    }
}