openapi: 3.0.0 info: title: Delphix DCT Algorithms CDB DSources API version: 3.28.0 description: Delphix DCT API contact: name: Delphix Support url: https://portal.perforce.com/s/ email: support@delphix.com servers: - url: /dct/v3 security: - ApiKeyAuth: [] tags: - name: CDB DSources paths: /cdb-dsources: get: summary: List all CDB dSources (Oracle only). operationId: get_cdb_dsources tags: - CDB DSources parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/cursor' - $ref: '#/components/parameters/cdbDSourcesSortParam' responses: '200': description: OK content: application/json: schema: type: object title: ListCDBDSourcesResponse properties: items: type: array items: $ref: '#/components/schemas/CdbDSource' response_metadata: $ref: '#/components/schemas/PaginatedResponseMetadata' /cdb-dsources/{cdbDSourceId}: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' get: summary: Get a CDB dSource by ID (Oracle only). operationId: get_cdb_dsource_by_id tags: - CDB DSources responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/CdbDSource' patch: summary: Update a CDB DSource. tags: - CDB DSources operationId: update_cdb_dsource requestBody: content: application/json: schema: x-body-name: update_cdb_dsource_parameter $ref: '#/components/schemas/UpdateCdbDSourceParameters' description: The parameters to update a CDB DSource. responses: '200': description: CDB DSource update initiated. content: application/json: schema: type: object title: UpdateCdbDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/search: post: summary: Search for CDB dSources (Oracle only). operationId: search_cdb_dsources tags: - CDB DSources x-filterable: fields: id: type: string engine_id: type: string name: type: string enabled: type: boolean status: type: string description: type: string cdb_source_id: type: string is_detached: type: boolean logsync_enabled: type: boolean logsync_mode: type: string logsync_interval: type: integer size: type: integer namespace_id: type: string namespace_name: type: string is_replica: type: boolean group_name: type: string diagnose_no_logging_faults: type: boolean rman_channels: type: integer files_per_set: type: integer number_of_connections: type: integer bandwidth_limit: type: integer compressed_linking_enabled: type: boolean encrypted_linking_enabled: type: boolean check_logical: type: boolean backup_level_enabled: type: boolean parameters: - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/cursor' - $ref: '#/components/parameters/cdbDSourcesSortParam' requestBody: $ref: '#/components/requestBodies/SearchBody' responses: '200': description: OK content: application/json: schema: type: object title: SearchCDBDSourcesResponse properties: items: type: array items: $ref: '#/components/schemas/CdbDSource' response_metadata: $ref: '#/components/schemas/PaginatedResponseMetadata' /cdb-dsources/{cdbDSourceId}/detach-cdb: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: summary: Detaches an Oracle CDB from an Oracle database. operationId: detach_cdb_dsource tags: - CDB DSources responses: '200': description: OK content: application/json: schema: type: object title: DetachCDBDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/{cdbDSourceId}/attach-cdb: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: summary: Attaches an Oracle CDB to an Oracle database. operationId: attach_cdb_dsource tags: - CDB DSources requestBody: content: application/json: schema: x-body-name: attach_cdb_dsource_parameter $ref: '#/components/schemas/OracleAttachDSourceParameters' description: The parameters to attach a CDB. responses: '200': description: OK content: application/json: schema: type: object title: attachCDBDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/{cdbDSourceId}/enable: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: summary: Enable a CDB dSource. tags: - CDB DSources operationId: enable_cdb_dsource requestBody: content: application/json: schema: x-body-name: enable_cdb_dsource_parameter $ref: '#/components/schemas/EnableCDBParameters' description: The parameters to enable a CDB dSource. responses: '200': description: CDB dSource enable initiated. content: application/json: schema: type: object title: EnableCDBDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/{cdbDSourceId}/disable: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: summary: Disable a CDB dSource. tags: - CDB DSources operationId: disable_cdb_dsource requestBody: content: application/json: schema: x-body-name: disable_cdb_parameter $ref: '#/components/schemas/DisableCDBParameters' description: The parameters to disable a CDB dSource. responses: '200': description: CDB dSource disable initiated. content: application/json: schema: type: object title: DisableCDBDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/{cdbDSourceId}/delete: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: summary: Delete a CDB dSource. tags: - CDB DSources operationId: delete_cdb_dsource requestBody: content: application/json: schema: x-body-name: delete_cdb_dsource_parameter $ref: '#/components/schemas/DeleteCDBParameters' description: The parameters to delete a CDB dSource. responses: '200': description: CDB dSource delete initiated. content: application/json: schema: type: object title: DeleteCDBDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/{cdbDSourceId}/upgrade: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: summary: Upgrade Oracle CDB dSource tags: - CDB DSources operationId: upgrade_cdb_dsource requestBody: content: application/json: schema: x-body-name: upgrade_cdb_dsource_parameter $ref: '#/components/schemas/UpgradeOracleContainerDatabaseParameters' description: The new data to upgrade an Oracle CDB. responses: '200': description: OK content: application/json: schema: type: object title: UpgradeCDBDSourceResponse properties: job: $ref: '#/components/schemas/Job' description: The initiated job. /cdb-dsources/{cdbDSourceId}/tags: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: tags: - CDB DSources summary: Create tags for a CDB DSource. operationId: create_cdb_dsource_tags requestBody: content: application/json: schema: x-body-name: cdb_dsource_tags $ref: '#/components/schemas/TagsRequest' description: Tags information for CDB DSource. required: true responses: '201': description: Created content: application/json: schema: $ref: '#/components/schemas/TagsResponse' get: tags: - CDB DSources summary: Get tags for a CDB DSource. operationId: get_tags_cdb_dsource responses: '200': description: Ok content: application/json: schema: $ref: '#/components/schemas/TagsResponse' /cdb-dsources/{cdbDSourceId}/tags/delete: parameters: - $ref: '#/components/parameters/cdbDSourceIdParam' post: tags: - CDB DSources summary: Delete tags for a CDB DSource. operationId: delete_cdb_dsource_tags requestBody: $ref: '#/components/requestBodies/DeleteTags' required: false responses: '204': description: No Content components: schemas: Tag: type: object required: - key - value properties: key: description: Key of the tag type: string minLength: 1 maxLength: 4000 example: key-1 value: description: Value of the tag type: string minLength: 1 maxLength: 4000 example: value-1 OracleLogsyncModeTypeEnum: type: string description: LogSync operation mode for this dSource. enum: - ARCHIVE_ONLY_MODE - ARCHIVE_REDO_MODE - UNDEFINED DeleteCDBParameters: type: object description: Parameters to delete a CDB. properties: force: type: boolean description: Whether to continue the operation upon failures. default: false delete_all_dependent_datasets: type: boolean description: Whether to delete all dependent datasets of the CDB. default: false VirtualizationTaskEvent: deprecated: true properties: message_details: type: string UpdateCdbDSourceParameters: type: object description: Parameters to update a CDB. properties: external_file_path: description: External file path. type: string minLength: 1 maxLength: 1024 logsync_enabled: description: True if LogSync is enabled for this CDB. type: boolean logsync_mode: description: LogSync operation mode for this CDB. $ref: '#/components/schemas/OracleLogsyncModeTypeEnum' logsync_interval: description: Interval between LogSync requests, in seconds. type: integer format: int64 description: description: The container description of this Linked CDB. type: string minLength: 1 maxLength: 1024 example: Updated Linked CDB description. diagnose_no_logging_faults: type: boolean example: true environment_user_id: description: The environment user ID to use to connect to the environment. type: string example: ENV_USER-1 rman_channels: type: integer format: int32 description: Number of parallel channels to use. files_per_set: type: integer format: int32 description: Number of data files to include in each RMAN backup set. encrypted_linking_enabled: type: boolean description: True if SnapSync data from the source should be retrieved through an encrypted connection. Enabling this feature can decrease the performance of SnapSync from the source but has no impact on the performance of VDBs created from the retrieved data. compressed_linking_enabled: type: boolean description: True if SnapSync data from the source should be compressed over the network. Enabling this feature will reduce network bandwidth consumption and may significantly improve throughput, especially over slow network. bandwidth_limit: type: integer format: int32 description: Bandwidth limit (MB/s) for SnapSync and LogSync network traffic. A value of 0 means no limit. number_of_connections: type: integer format: int32 description: Total number of transport connections to use during SnapSync. backup_level_enabled: type: boolean description: Boolean value indicates whether LEVEL-based incremental backups can be used on the source db. check_logical: type: boolean description: True if extended block checking should be used for this linked database. db_username: type: string description: The name of the database user. minLength: 1 maxLength: 30 example: db-username db_password: x-dct-toolkit-credential-field: true type: string description: The password of the database user. minLength: 1 example: db-password non_sys_username: description: The username of a database user that does not have administrative privileges. type: string minLength: 1 maxLength: 256 non_sys_password: x-dct-toolkit-credential-field: true type: string description: The username of a database user that does not have administrative privileges. minLength: 1 Engine: properties: engine_id: type: string minLength: 1 maxLength: 4000 engine_name: type: string minLength: 1 maxLength: 4000 PaginatedResponseMetadata: type: object properties: prev_cursor: description: Pointer to the previous page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page. type: string next_cursor: description: Pointer to the next page of results. Use this value as a cursor query parameter in a subsequent request, along with limit, to navigate through the collection by virtual page. type: string total: description: The total number of results. This value may not be provided. type: integer format: int_64 JobTaskEvent: properties: message_details: type: string DeleteTag: type: object properties: key: description: Key of the tag type: string minLength: 1 maxLength: 4000 example: key-1 value: description: Value of the tag type: string minLength: 1 maxLength: 4000 example: value-1 tags: description: List of tags to be deleted type: array minItems: 1 maxItems: 1000 uniqueItems: true items: $ref: '#/components/schemas/Tag' OracleAttachDSourceParameters: allOf: - $ref: '#/components/schemas/OracleAttachParameters' - type: object required: - source_id properties: source_id: description: Id of the source to attach. type: string minLength: 1 maxLength: 256 JobTask: properties: id: type: string parent_job_id: type: string start_time: type: string format: date-time end_time: type: string format: date-time title: type: string percent_complete: type: integer minimum: 0 maximum: 100 events: type: array items: $ref: '#/components/schemas/JobTaskEvent' status: type: string enum: - PENDING - STARTED - TIMEDOUT - RUNNING - CANCELED - FAILED - SUSPENDED - WAITING - COMPLETED - ABANDONED TagsRequest: type: object required: - tags properties: tags: description: Array of tags with key value pairs type: array items: $ref: '#/components/schemas/Tag' minItems: 1 maxItems: 1000 uniqueItems: true SourceOperation: properties: name: type: string minLength: 1 maxLength: 256 command: type: string minLength: 1 maxLength: 131072 shell: type: string enum: - bash - shell - expect - ps - psd default: bash credentials_env_vars: description: List of environment variables that will contain credentials for this operation. type: array items: $ref: '#/components/schemas/CredentialsEnvVariable' hook_template_id: description: ID of the hook template type: string SearchBody: description: Search body. type: object properties: filter_expression: type: string minLength: 5 maxLength: 50000 example: string_field CONTAINS "over" AND numberic_field GT 9000 OR string_field2 EQ "Goku" CdbDSource: description: The Delphix representation of an Oracle Container Database. type: object properties: id: description: The CDB object entity ID. type: string example: 1-CDB-1 engine_id: description: A reference to the Engine that this CDB belongs to. type: string example: engine-12 name: description: The name of this CDB. type: string nullable: true example: Oracle CDB enabled: description: Whether the CDB is enabled or not. type: boolean example: true status: description: The runtime status of the vCDB. type: string nullable: true example: RUNNING description: description: The container description of this Linked CDB. type: string example: This is Oracle linked CDB. cdb_source_id: description: The container description of this Linked CDB. type: string example: 1-ORACLE_SINGLE_CONFIG-1 is_detached: description: Is this a detached CDB container. type: boolean example: true logsync_enabled: description: True if LogSync is enabled for this dSource. type: boolean logsync_mode: description: LogSync operation mode for this dSource. $ref: '#/components/schemas/OracleLogsyncModeTypeEnum' logsync_interval: description: Interval between LogSync requests, in seconds. type: integer format: int64 size: description: The total size of the data files used by this CDB, in bytes. type: integer format: int64 nullable: true example: 339292672 namespace_id: description: The namespace id of this CDB. type: string example: 1-NAMESPACE-1 namespace_name: description: The namespace name of this CDB. type: string example: test-engine-1 is_replica: description: Is this a replicated object. type: boolean example: true group_name: description: The name of the group containing this CDB. type: string nullable: true example: Untitled diagnose_no_logging_faults: description: If true, NOLOGGING operations on this container are treated as faults and cannot be resolved manually. Otherwise, these operations are ignored. type: boolean example: true rman_channels: type: integer format: int32 description: Number of parallel channels to use. files_per_set: type: integer format: int32 description: Number of data files to include in each RMAN backup set. encrypted_linking_enabled: type: boolean description: True if SnapSync data from the source should be retrieved through an encrypted connection. Enabling this feature can decrease the performance of SnapSync from the source but has no impact on the performance of VDBs created from the retrieved data. compressed_linking_enabled: type: boolean description: True if SnapSync data from the source should be compressed over the network. Enabling this feature will reduce network bandwidth consumption and may significantly improve throughput, especially over slow network. bandwidth_limit: type: integer format: int32 description: Bandwidth limit (MB/s) for SnapSync and LogSync network traffic. A value of 0 means no limit. number_of_connections: type: integer format: int32 description: Total number of transport connections to use during SnapSync. backup_level_enabled: type: boolean description: Boolean value indicates whether LEVEL-based incremental backups can be used on the source db. check_logical: type: boolean description: True if extended block checking should be used for this linked database. tags: type: array items: $ref: '#/components/schemas/Tag' VirtualizationTask: deprecated: true properties: id: type: string parent_job_id: type: string start_time: type: string format: date-time end_time: type: string format: date-time title: type: string percent_complete: type: integer minimum: 0 maximum: 100 events: type: array items: $ref: '#/components/schemas/VirtualizationTaskEvent' status: type: string enum: - PENDING - STARTED - TIMEDOUT - RUNNING - CANCELED - FAILED - SUSPENDED - WAITING - COMPLETED - ABANDONED EnableCDBParameters: type: object description: Parameters to enable a CDB. properties: attempt_start: type: boolean description: Whether to attempt a startup of the CDB after the enable. default: true TagsResponse: type: object properties: tags: description: Array of tags with key value pairs type: array items: $ref: '#/components/schemas/Tag' DisableCDBParameters: type: object description: Parameters to disable a CDB. properties: attempt_cleanup: type: boolean description: Whether to attempt a cleanup of the CDB before the disable. default: true OracleAttachParameters: type: object properties: backup_level_enabled: description: Boolean value indicates whether LEVEL-based incremental backups can be used on the source database. type: boolean bandwidth_limit: description: Bandwidth limit (MB/s) for SnapSync and LogSync network traffic. A value of 0 means no limit. type: integer default: 0 check_logical: description: True if extended block checking should be used for this linked database. type: boolean default: false compressed_linking_enabled: description: True if SnapSync data from the source should be compressed over the network. Enabling this feature will reduce network bandwidth consumption and may significantly improve throughput, especially over slow network. type: boolean default: true double_sync: description: True if two SnapSyncs should be performed in immediate succession to reduce the number of logs required to provision the snapshot. This may significantly reduce the time necessary to provision from a snapshot. type: boolean default: false encrypted_linking_enabled: description: True if SnapSync data from the source should be retrieved through an encrypted connection. Enabling this feature can decrease the performance of SnapSync from the source but has no impact on the performance of VDBs created from the retrieved data. type: boolean default: false environment_user: description: Reference to the user that should be used in the host. type: string external_file_path: description: External file path. type: string maxLength: 1024 files_per_set: description: Number of data files to include in each RMAN backup set. type: integer minimum: 1 maximum: 64 default: 5 force: description: If true, attach will succeed even if the resetlogs of the new database does not match the resetlogs information of the original database. type: boolean default: false link_now: description: True if initial load should be done immediately. type: boolean default: false number_of_connections: description: Total number of transport connections to use during SnapSync. type: integer default: 1 operations: description: Operations to perform after syncing a created dSource and before running the LogSync. type: array items: $ref: '#/components/schemas/SourceOperation' oracle_fallback_user: type: string description: The database fallback username. Optional if bequeath connections are enabled (to be used in case of bequeath connection failures). Only required for username-password auth. minLength: 1 maxLength: 256 example: oracle oracle_fallback_credentials: x-dct-toolkit-credential-field: true type: string description: Password for fallback username. minLength: 1 maxLength: 256 example: oracle rman_channels: description: Number of parallel channels to use. type: integer minimum: 1 maximum: 32 default: 2 discriminator: propertyName: class_type Job: description: An asynchronous task. type: object properties: id: description: The Job entity ID. type: string example: job-123 status: description: The status of the job. type: string enum: - PENDING - STARTED - TIMEDOUT - RUNNING - CANCELED - FAILED - SUSPENDED - WAITING - COMPLETED - ABANDONED example: RUNNING is_waiting_for_telemetry: description: Indicates that the operations performed by this Job have completed successfully, but the object changes are not yet reflected. This is only set when when the JOB is in STARTED status, with the guarantee that the job will not transition to the FAILED status. Note that this flag will likely be replaced with a new status in future API versions and be deprecated. type: boolean type: description: The type of job being done. type: string example: DB_REFRESH localized_type: description: The i18n translated type of job being done. type: string example: DB Refresh error_details: description: Details about the failure for FAILED jobs. type: string example: Unable to connect to the engine. warning_message: description: Warnings for the job. type: string example: 'Failed to remove local MaskingJob, engineId: 3 localMaskingJobId: 7.' target_id: description: A reference to the job's target. type: string example: vdb-123 target_name: description: A reference to the job's target name. type: string example: vdb start_time: description: The time the job started executing. type: string format: date-time example: '2022-01-02T05:11:24.148000+00:00' update_time: description: The time the job was last updated. type: string format: date-time example: '2022-01-02T06:11:24.148000+00:00' trace_id: description: traceId of the request which created this Job type: string engine_ids: description: IDs of the engines this Job is executing on. type: array items: type: string deprecated: true tags: type: array items: $ref: '#/components/schemas/Tag' engines: type: array items: $ref: '#/components/schemas/Engine' account_id: description: The ID of the account who initiated this job. type: integer example: 1 account_name: description: The account name which initiated this job. It can be either firstname and lastname combination or firstname or lastname or username or email address or Account-. type: string example: User 1 compliance_node_id: description: The ID of the associated compliance node, if applicable. type: string nullable: true compliance_node_name: description: The name of the associated compliance node, if applicable. type: string nullable: true percent_complete: description: Completion percentage of the Job. type: integer minimum: 0 maximum: 100 example: '50' virtualization_tasks: deprecated: true type: array items: $ref: '#/components/schemas/VirtualizationTask' tasks: type: array items: $ref: '#/components/schemas/JobTask' execution_id: description: The ID of the associated masking execution, if any. type: string nullable: true result_type: description: The type of the job result. This is the type of the object present in the result. type: string result: description: The result of the job execution. This is JSON serialized string of the result object whose type is specified by result_type property. type: object discriminator: propertyName: class_type UpgradeOracleContainerDatabaseParameters: type: object description: Parameters to upgrade CDB/vCDB. required: - repository_id - environment_user_id properties: repository_id: type: string description: The id of the CDB/vCDB repository to upgrade to. example: 1-ORACLE_INSTALL-4 environment_user_id: type: string description: Reference of the environment user to use for CDB/vCDB upgrade. example: HOST_USER-4 CredentialsEnvVariable: required: - base_var_name properties: base_var_name: type: string description: Base name of the environment variables. Variables are named by appending '_USER', '_PASSWORD', '_PUBKEY' and '_PRIVKEY' to this base name, respectively. Variables whose values are not entered or are not present in the type of credential or vault selected, will not be set. minLength: 1 maxLength: 256 password: x-dct-toolkit-credential-field: true type: string description: Password to assign to the environment variables. minLength: 1 maxLength: 256 example: password vault_username: type: string description: Delphix display name for the vault user. minLength: 1 maxLength: 256 example: my-vault vault: type: string description: The name or reference of the vault to assign to the environment variables. minLength: 1 maxLength: 256 example: 1-VAULT-1 hashicorp_vault_engine: type: string description: Vault engine name where the credential is stored. minLength: 1 maxLength: 256 example: kv hashicorp_vault_secret_path: type: string description: Path in the vault engine where the credential is stored. minLength: 1 maxLength: 256 example: oracle-env hashicorp_vault_username_key: type: string description: Hashicorp vault key for the username in the key-value store. minLength: 1 maxLength: 256 example: username hashicorp_vault_secret_key: type: string description: Hashicorp vault key for the password in the key-value store. minLength: 1 maxLength: 256 example: secret azure_vault_name: type: string description: Azure key vault name. minLength: 1 maxLength: 256 example: azure_vault azure_vault_username_key: type: string description: Azure vault key in the key-value store. minLength: 1 maxLength: 256 example: username azure_vault_secret_key: type: string description: Azure vault key in the key-value store. minLength: 1 maxLength: 256 example: secret cyberark_vault_query_string: type: string description: Query to find a credential in the CyberArk vault. minLength: 1 maxLength: 256 example: Safe=Test;Folder=Test;Object=Test credential_type: type: string description: Credential type of the credential environment variable minLength: 1 maxLength: 256 example: PasswordCredential element_id: type: string description: Element ID of the credential environment variable. Omit to create a new credential. Include an existing element_id to update that credential. Any existing credential whose element_id is omitted from the request will be deleted. An element_id that does not match any existing credential is silently ignored. minLength: 1 maxLength: 256 example: 35 type: type: string description: Type of the credential environment variable minLength: 1 maxLength: 256 example: CredentialsEnvVars parameters: cdbDSourcesSortParam: name: sort in: query description: The field to sort results by. A property name with a prepended '-' signifies descending order. example: id required: false schema: type: string enum: - id - -id - name - -name - enabled - -enabled - status - -status - description - -description - cdb_source_id - -cdb_source_id - is_detached - -is_detached - logsync_enabled - -logsync_enabled - logsync_mode - -logsync_mode - logsync_interval - -logsync_interval - size - -size - namespace_id - -namespace_id - namespace_name - -namespace_name - is_replica - -is_replica - group_name - -group_name - diagnose_no_logging_faults - -diagnose_no_logging_faults - rman_channels - -rman_channels - files_per_set - -files_per_set - number_of_connections - -number_of_connections - bandwidth_limit - -bandwidth_limit - compressed_linking_enabled - -compressed_linking_enabled - encrypted_linking_enabled - -encrypted_linking_enabled - check_logical - -check_logical - backup_level_enabled - -backup_level_enabled nullable: true example: name cdbDSourceIdParam: in: path name: cdbDSourceId required: true schema: type: string minLength: 1 description: The ID of the CDB DSource. limit: name: limit in: query description: Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100. example: 50 schema: type: integer minimum: 1 maximum: 1000 default: 100 cursor: name: cursor in: query description: 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. schema: type: string minLength: 1 maxLength: 4096 requestBodies: SearchBody: x-skip-codegen-attr: description description: '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](https://datatracker.ietf.org/doc/html/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. ' content: application/json: schema: $ref: '#/components/schemas/SearchBody' examples: nested: description: 'An example of a nested Object comparison testing that at least one repository has a version which is equal to 19.0.0. ' summary: Nested Object Comparison value: filter_expression: repositories CONTAINS {version eq '19.0.0'} relative: description: 'An example of a relative comparison testing that field1 has a value which is less than 123. ' summary: Relative comparison value: filter_expression: field1 LE 123 nil: description: 'An example of using nil to test for the absence of a value for field2. ' summary: Absence of an attribute value value: filter_expression: field2 EQ NIL non-nil: description: 'An example of using nil to test for the existence of a value for field2. ' summary: Existence of an attribute value value: filter_expression: field2 NE NIL contains: description: 'An example of using the ''CONTAINS'' operator to check if field2 contains the string ''foo''. If field2 is string valued then this is checking if ''foo'' is a substring of field2. If field2 is a list of strings then this is checking if ''foo'' is a member of the list. ' summary: Use of the CONTAINS operator value: filter_expression: field2 CONTAINS 'foo' in: description: 'An example of using the ''IN'' operator to check if field1 is an element of a list literal. ' summary: Use of the IN operator value: filter_expression: field1 IN [1, 2, 3] search: description: 'An example of using the ''SEARCH'' operator to retrieve all elements for which ''foo'' is a substring of a filterable attribute. ' summary: Use of the SEARCH operator value: filter_expression: SEARCH 'foo' parenthesis: description: 'An example of parenthesis being used to group operators & override operator precedence. ' summary: Overriding operator precedence value: filter_expression: field1 LT 1234 AND (field2 CONTAINS 'foo' OR field3 CONTAINS 'bar') DeleteTags: description: The parameters to delete tags content: application/json: schema: x-body-name: environment $ref: '#/components/schemas/DeleteTag' examples: delete_all_tags: description: Delete all tags for given object - No request body required summary: Delete all tags value: {} delete_tags_by_key: description: Delete all tags for given object with matching key summary: Delete tags by key value: key: key-1 delete_tags_by_key_value: description: Delete tag for given object with matching key and value summary: Delete a tag by key & value value: key: key-1 value: value-1 delete_multiple_tags_by_key_value: description: Delete tags for given list of tags with matching key and value summary: Delete multiple tags by key & value value: tags: - key: key-1 value: value-1 - key: key-2 value: value-2 securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization