Sources

List all sources.

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" "database_type" "-database_type" "name" "-name" "database_version" "-database_version" "environment_id" "-environment_id" "data_uuid" "-data_uuid" "ip_address" "-ip_address" "fqdn" "-fqdn" "size" "-size" "jdbc_connection_string" "-jdbc_connection_string" "plugin_version" "-plugin_version" "is_dsource" "-is_dsource" "instance_name" "-instance_name" "instance_number" "-instance_number" "user" "-user" "non_sys_user" "-non_sys_user" "discovered" "-discovered" "linking_enabled" "-linking_enabled" "repository" "-repository" "cdb_type" "-cdb_type"
Example: sort=id
Responses
200

OK

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

Create an Oracle Source.

SecurityApiKeyAuth
Request
Request Body schema: application/json

The parameters to create an Oracle source.

oracle_config_type
required
string (OracleConfigTypeEnum)
Enum: "OracleRACConfig" "OracleSIConfig" "OraclePDBConfig"
engine_id
string

The ID of the engine to create the source on.

environment_id
string

The ID of the environment to create the source on.

database_name
string

The name of the database.

repository_id
required
string

The id of the containing repository where this database is created.

Array of objects (OracleRACDatabaseInstance)

The instances of this RAC database.

unique_name
string

The unique name of this database.

instance_name
string

The instance name of this single instance database.

Responses
201

Oracle Source creation initiated

post/sources/oracle
Request samples
application/json

This example can be used for creating an Oracle single instance source.

{
  • "oracle_config_type": "OracleSIConfig",
  • "engine_id": 1,
  • "environment_id": "1-UNIX_HOST_ENVIRONMENT-17",
  • "database_name": "MYSIDB",
  • "repository_id": "1-ORACLE_INSTALL-3",
  • "unique_name": "MYSIDB",
  • "instance_name": "MYSIDB"
}
Response samples
application/json
{
  • "job": {
    },
  • "source_id": "1-ORACLE_SINGLE_CONFIG-32"
}

Update an Oracle source by ID.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Request Body schema: application/json

The parameters to update a Oracle source

oracle_services
Array of strings

List of jdbc connection strings which are used to connect with the database.

user
string [ 1 .. 30 ] characters

Database user for accessing this source.

password
string non-empty

Password for the database user.

linking_enabled
boolean

Whether this source should be used for linking.

Responses
200

OK

patch/sources/oracle/{sourceId}
Request samples
application/json

The request example is intended for updating an Oracle source.

{
  • "user": "myuser",
  • "password": "mypwd",
  • "oracle_services": [
    ],
  • "linking_enabled": true
}
Response samples
application/json
{
  • "job": {
    }
}

Create a PostgreSQL source.

SecurityApiKeyAuth
Request
Request Body schema: application/json
required

The parameters to create a PostgreSQL source.

name
required
string [ 1 .. 256 ] characters

The name of the source.

repository_id
string non-empty

The ID of the Repository onto which the source will be created.

engine_id
string

The ID of the engine to create the source on.

environment_id
string

The ID of the environment to create the source on.

Responses
201

PostgreSQL Source creation initiated

post/sources/postgres
Request samples
application/json

The request example is intended for creating a PostgreSQL source.

{
  • "name": "postgres-source",
  • "repository_id": "APPDATA_REPOSITORY-10",
  • "engine_id": "1",
  • "environment_id": "UNIX_HOST_ENVIRONMENT-3"
}
Response samples
application/json
{
  • "job": {
    },
  • "source_id": "source-1"
}

Update a PostgreSQL source by ID.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Request Body schema: application/json

The parameters to update a PostgreSQL source

name
string [ 1 .. 256 ] characters

The name of the source.

Responses
200

OK

patch/sources/postgres/{sourceId}
Request samples
application/json

The request example is intended for updating a PostgreSQL source.

{
  • "name": "postgres-source-update"
}
Response samples
application/json
{
  • "job": {
    }
}

Search for Sources.

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" "database_type" "-database_type" "name" "-name" "database_version" "-database_version" "environment_id" "-environment_id" "data_uuid" "-data_uuid" "ip_address" "-ip_address" "fqdn" "-fqdn" "size" "-size" "jdbc_connection_string" "-jdbc_connection_string" "plugin_version" "-plugin_version" "is_dsource" "-is_dsource" "instance_name" "-instance_name" "instance_number" "-instance_number" "user" "-user" "non_sys_user" "-non_sys_user" "discovered" "-discovered" "linking_enabled" "-linking_enabled" "repository" "-repository" "cdb_type" "-cdb_type"
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/sources/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 source by ID.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Responses
200

OK

get/sources/{sourceId}
Response samples
application/json
{
  • "id": "source-123",
  • "database_type": "Oracle",
  • "name": "production01",
  • "database_version": "11.1.0.7.0",
  • "environment_id": "environment-123",
  • "data_uuid": "1734315df891991101eb96963535afa0",
  • "ip_address": "192.0.2.0",
  • "fqdn": "prod01.myhost.com",
  • "size": 856981504,
  • "jdbc_connection_string": "jdbc:oracle:thin:@(DESCRIPTION=(ENABLE=broken)(ADDRESS=(PROTOCOL=tcp)(HOST=10.43.47.94)(PORT=1521))(CONNECT_DATA=(UR=A)(SID=production01)))",
  • "plugin_version": "1.0",
  • "repository": "1-REPOSITORY-1",
  • "appdata_source_type": "AppDataDirectSourceConfig",
  • "is_pdb": false,
  • "tags": [
    ],
  • "oracle_services": [
    ],
  • "instance_name": "DBSID",
  • "instance_number": 1,
  • "user": "ORACLE",
  • "non_sys_user": "TESTER",
  • "discovered": true,
  • "linking_enabled": true,
  • "cdb_type": "ROOT_CDB"
}

Delete a source by ID.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Responses
200

OK

delete/sources/{sourceId}
Response samples
application/json
{
  • "job": {
    }
}

Update a Source.Deprecated

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Request Body schema: application/json

The parameters to update a Source.

oracle_services
Array of strings

List of jdbc connection strings which are used to connect with the database.

Responses
200

Source update initiated.

patch/sources/{sourceId}/update
Request samples
application/json
{
  • "oracle_services": [
    ]
}
Response samples
application/json
{
  • "job": {
    }
}

Get tags for a Source.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Responses
200

Ok

get/sources/{sourceId}/tags
Response samples
application/json
{
  • "tags": [
    ]
}

Create tags for a Source.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Request Body schema: application/json
required

Tags information for Source.

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

Array of tags with key value pairs

Responses
201

Created

post/sources/{sourceId}/tags
Request samples
application/json
{
  • "tags": [
    ]
}
Response samples
application/json
{
  • "tags": [
    ]
}

Returns a list of repositories that match the specified source.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

Responses
200

OK

get/sources/{sourceId}/staging_compatible_repositories
Response samples
application/json
{
  • "items": [
    ]
}

Delete tags for a Source.

SecurityApiKeyAuth
Request
path Parameters
sourceId
required
string non-empty

The ID of the Source.

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/sources/{sourceId}/tags/delete
Request samples
application/json

Delete all tags for given object - No request body required

{ }