Delphix Algorithms API

The Algorithms API from Delphix — 12 operation(s) for algorithms.

Operations 16

GET /algorithms Retrieve the list of algorithms. #
POST /algorithms Create a new algorithm. #
GET /algorithms/{algorithmId} Get an algorithm by ID. #
PATCH /algorithms/{algorithmId} Update an Algorithm. #
DELETE /algorithms/{algorithmId} Delete an Algorithm. #
POST /algorithms/{algorithmId}/mappings/import Import mappings for a Mapping Algorithm. #
DELETE /algorithms/{algorithmId}/mappings Delete mappings of a Mapping Algorithm. #
POST /algorithms/{algorithmId}/mappings/reset Reset mappings for a Mapping Algorithm. #
GET /algorithms/{algorithmId}/mappings/stats Get mappings statistics of a Mapping algorithm. #
POST /algorithms/search Search for algorithms. #
GET /algorithms/{algorithmId}/tags Get tags for an Algorithm. #
POST /algorithms/{algorithmId}/tags Create tags for an Algorithm. #
POST /algorithms/{algorithmId}/tags/delete Delete tags for an Algorithm. #
GET /algorithms/{algorithmId}/dependencies Get dependencies of an algorithm by ID. #
POST /algorithms/{algorithmId}/dependencies/search Search for algorithm dependencies. #
POST /algorithms/validate-config Validate the algorithm configuration of a given framework. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/delphix-algorithms-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

delphix-algorithms-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Delphix DCT Algorithms 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: Algorithms
paths:
  /algorithms:
    get:
      tags:
      - Algorithms
      summary: Retrieve the list of algorithms.
      operationId: get_algorithms
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/algorithmsSortParam'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListAlgorithmsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Algorithm'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
    post:
      tags:
      - Algorithms
      summary: Create a new algorithm.
      operationId: create_algorithm
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: algorithm_create_request
              $ref: '#/components/schemas/AlgorithmCreateRequest'
        description: The new Algorithm to create
        required: true
      responses:
        '201':
          description: Algorithm creation initiated.
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmCreateResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The initiated job.
                  id:
                    type: string
                    description: The id of the created algorithm.
  /algorithms/{algorithmId}:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    get:
      summary: Get an algorithm by ID.
      operationId: get_algorithm_by_id
      tags:
      - Algorithms
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Algorithm'
    patch:
      tags:
      - Algorithms
      summary: Update an Algorithm.
      operationId: update_algorithm
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: algorithm_update_request
              $ref: '#/components/schemas/AlgorithmUpdateRequest'
        description: Update an Algorithm.
        required: true
      responses:
        '200':
          description: Algorithm update initiated.
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmUpdateResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The initiated job.
    delete:
      tags:
      - Algorithms
      summary: Delete an Algorithm.
      operationId: delete_algorithm
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmDeleteResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The completed job.
  /algorithms/{algorithmId}/mappings/import:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    post:
      tags:
      - Algorithms
      summary: Import mappings for a Mapping Algorithm.
      operationId: import_algorithm_mappings
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: algorithm_mappings_import_request
              $ref: '#/components/schemas/AlgorithmMappingsImportRequest'
        description: The mappings to import for the specified Algorithm.
        required: true
      responses:
        '201':
          description: Mappings import is initiated.
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmMappingsImportResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The initiated job.
  /algorithms/{algorithmId}/mappings:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    delete:
      tags:
      - Algorithms
      summary: Delete mappings of a Mapping Algorithm.
      operationId: delete_mappings
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmDeleteMappingsResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The completed job.
  /algorithms/{algorithmId}/mappings/reset:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    post:
      tags:
      - Algorithms
      summary: Reset mappings for a Mapping Algorithm.
      operationId: reset_algorithm_mappings
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmMappingsResetResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The completed job.
  /algorithms/{algorithmId}/mappings/stats:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    get:
      tags:
      - Algorithms
      summary: Get mappings statistics of a Mapping algorithm.
      operationId: get_mappings_stats
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MappingsStats'
  /algorithms/search:
    post:
      tags:
      - Algorithms
      summary: Search for algorithms.
      operationId: search_algorithms
      x-filterable:
        fields:
          id:
            type: string
          name:
            type: string
          description:
            type: string
          framework_name:
            type: string
          framework_id:
            type: string
          plugin_name:
            type: string
          plugin_id:
            type: string
          engine_name:
            type: string
          engine_id:
            type: string
          revision_hash:
            type: string
          create_date:
            type: string
          account_id:
            type: integer
          account_name:
            type: string
          dct_managed:
            type: boolean
          config_invalid:
            type: boolean
          is_tokenization_supported:
            type: boolean
          tags:
            type: array[object]
            fields:
              key:
                type: string
              value:
                type: string
      parameters:
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/algorithmsSortParam'
      requestBody:
        $ref: '#/components/requestBodies/SearchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: SearchAlgorithmsResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Algorithm'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /algorithms/{algorithmId}/tags:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    get:
      tags:
      - Algorithms
      summary: Get tags for an Algorithm.
      operationId: get_algorithm_tags
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
    post:
      tags:
      - Algorithms
      summary: Create tags for an Algorithm.
      operationId: create_algorithm_tags
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: algorithm_tags
              $ref: '#/components/schemas/TagsRequest'
        description: Tags information for Algorithm.
        required: true
      responses:
        '201':
          description: Algorithm tags created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TagsResponse'
  /algorithms/{algorithmId}/tags/delete:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    post:
      tags:
      - Algorithms
      summary: Delete tags for an Algorithm.
      operationId: delete_algorithm_tags
      requestBody:
        $ref: '#/components/requestBodies/DeleteTags'
      responses:
        '204':
          description: No Content
  /algorithms/{algorithmId}/dependencies:
    parameters:
    - $ref: '#/components/parameters/algorithmIdParam'
    - $ref: '#/components/parameters/limit'
    - $ref: '#/components/parameters/cursor'
    - $ref: '#/components/parameters/dependenciesSortParam'
    get:
      summary: Get dependencies of an algorithm by ID.
      operationId: get_algorithm_dependencies_by_id
      tags:
      - Algorithms
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: ListAlgorithmDependenciesResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Dependency'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /algorithms/{algorithmId}/dependencies/search:
    post:
      tags:
      - Algorithms
      summary: Search for algorithm dependencies.
      operationId: search_algorithm_dependencies
      x-filterable:
        fields:
          child_id:
            type: string
          child_name:
            type: string
          child_type:
            type: string
      parameters:
      - $ref: '#/components/parameters/algorithmIdParam'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/cursor'
      - $ref: '#/components/parameters/dependenciesSortParam'
      requestBody:
        $ref: '#/components/requestBodies/SearchBody'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                title: SearchAlgorithmDependenciesResponse
                properties:
                  items:
                    type: array
                    items:
                      $ref: '#/components/schemas/Dependency'
                  response_metadata:
                    $ref: '#/components/schemas/PaginatedResponseMetadata'
  /algorithms/validate-config:
    post:
      tags:
      - Algorithms
      summary: Validate the algorithm configuration of a given framework.
      operationId: validate_algorithm_config
      requestBody:
        content:
          application/json:
            schema:
              x-body-name: algorithm_config_validate_request
              $ref: '#/components/schemas/AlgorithmConfigValidateRequest'
        description: The algorithm configuration to validate of a given framework.
        required: true
      responses:
        '201':
          description: Validate result.
          content:
            application/json:
              schema:
                type: object
                title: AlgorithmConfigValidateResponse
                properties:
                  job:
                    $ref: '#/components/schemas/Job'
                    description: The validation job.
                  is_valid:
                    type: boolean
                    description: Whether the configuration is valid.
                  error_message:
                    type: string
                    description: The error message if the configuration is invalid.
components:
  requestBodies:
    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
    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')
  schemas:
    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
    AlgorithmConfigValidateRequest:
      description: Parameters to validate a masking algorithm configuration of a given framework.
      type: object
      required:
      - name
      - config
      - framework_id
      properties:
        name:
          description: The name of this Algorithm.
          type: string
          example: Address
        config:
          description: The configuration of this algorithm.
          type: object
          additionalProperties: true
        framework_id:
          description: Id for the framework of this algorithm.
          type: string
        algorithm_id:
          description: The ID or name of an existing mapping algorithm to be updated. This is only needed when validating an existing mapping algorithm with new configuration, and can be omitted when validating non-mapping algorithms or when validating a new algorithm prior to creation.
          type: string
    VirtualizationTaskEvent:
      deprecated: true
      properties:
        message_details:
          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"
    Algorithm:
      description: A masking algorithm.
      type: object
      properties:
        id:
          description: The algorithm entity ID.
          type: string
          example: a638d976-6b7e-43f4-9212-90f4dc6d405c
        name:
          description: The name of this algorithm.
          type: string
          example: Address
        description:
          description: A description of this algorithm.
          type:
          - string
          - 'null'
        plugin_name:
          description: The name of the plugin that this algorithm belongs to.
          type: string
          example: dlpx-core
        plugin_id:
          description: The id of the plugin that this algorithm belongs to.
          type: string
          example: a638d976-6b7e-43f4-9212-90f4dc6d405c
        framework_name:
          description: The name of the framework that this algorithm belongs to.
          type: string
          example: Secure Lookup
        framework_id:
          description: The id of the framework that this algorithm belongs to.
          type: string
          example: a638d976-6b7e-43f4-9212-90f4dc6d405c
        engine_name:
          description: The name of the origin engine that this algorithm belongs to.
          type: string
          example: Compliance Engine 1
        engine_id:
          description: The id of the origin engine that this algorithm belongs to.
          type: string
          example: a638d976-6b7e-43f4-9212-90f4dc6d405c
        revision_hash:
          description: The export revision hash of this algorithm from the source engine.
          type: string
          example: 90f4dc6d405c
        config:
          description: The configuration of this algorithm.
          type: object
          additionalProperties: true
        create_date:
          description: The date and time this algorithm was created.
          type: string
          format: date-time
          example: '2022-11-30T08:51:34.148000+00:00'
        account_id:
          description: The ID of the account who created this algorithm.
          type: integer
          format: int64
          readOnly: true
          example: 1
        account_name:
          description: The account name of the DCT user who created this algorithm.
          type: string
          readOnly: true
          example: John Doe
        dct_managed:
          description: Whether this algorithm is managed by DCT or not.
          type: boolean
          readOnly: true
        config_invalid:
          description: Whether this algorithm has invalid configuration. Config may become invalid following a DCT upgrade due to changes in the plugin. This field is only applicable to DCT managed algorithms.
          type: boolean
          readOnly: true
        is_default_instance:
          description: Whether this algorithm is defined in the plugin.
          type: boolean
          readOnly: true
        is_tokenization_supported:
          description: Whether this algorithm supports tokenization (re-identification). Depends on the algorithm configuration.
          type:
          - boolean
          - 'null'
          readOnly: true
        fields:
          description: The list of fields if it is a multi-column/multi-condition algorithm.
          type: array
          items:
            $ref: '#/components/schemas/AlgorithmField'
        tags:
          description: The tags of this algorithm.
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    TagsResponse:
      type: object
      properties:
        tags:
          description: Array of tags with key value pairs
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    MappingFileType:
      description: The type of mapping file.
      type: string
      enum:
      - PLAINTEXT
      - CSV
    AlgorithmField:
      description: The algorithm field details for a multi-column/multi-condition algorithm
      type: object
      properties:
        id:
          description: The id of the algorithm field.
          type: string
          example: 20b4692e-381d-40a0-a46e-0ba7658acaf3
          readOnly: true
        name:
          description: The name of the algorithm field.
          type: string
          example: ADDRESS_LINE1
          readOnly: true
        type:
          description: The type of algorithm field.
          type: string
          enum:
          - BIG_DECIMAL
          - LOCAL_DATE_TIME
          - STRING
          - BYTE_BUFFER
          example: STRING
          readOnly: true
        is_read_only:
          description: Indicates whether the field is read-only. Read-only fields are taken as input by the masking algorithm but not masked.
          type: boolean
          readOnly: true
        is_optional:
          description: Indicates whether the field is optional. Optional fields do not have to be assigned to a real data field or column in order for a masking assignment to be considered valid.
          type: boolean
          readOnly: true
        description:
          description: The description of the algorithm field.
          type: string
          readOnly: true
    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
    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'
    AlgorithmCreateRequest:
      description: Parameters to create a masking algorithm.
      type: object
      required:
      - name
      - config
      - framework_id
      properties:
        name:
          description: The name of this Algorithm.
          type: string
          example: Address
        description:
          description: A description of this algorithm.
          type: string
        config:
          description: The configuration of this algorithm.
          type: object
          additionalProperties: true
        framework_id:
          description: Id for the framework of this algorithm.
          type: string
        data_class_ids:
          description: The data classes this algorithm to be associated with.
          type: array
          items:
            type: string
        make_current_account_owner:
          type: boolean
          default: true
          description: Whether the account creating this algorithm must be configured as owner of it.
        tags:
          description: The tags of this algorithm.
          type: array
          items:
            $ref: '#/components/schemas/Tag'
    JobTaskEvent:
      properties:
        message_details:
          type: string
    Engine:
      properties:
        engine_id:
          type: string
          minLength: 1
          maxLength: 4000
        engine_name:
          type: string
          minLength: 1
          maxLength: 4000
    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
    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
    AlgorithmUpdateRequest:
      description: Parameters to update a masking algorithm.
      type: object
      properties:
        name:
          description: The name of this Algorithm.
          type: string
          example: Address
        description:
          description: A description of this algorithm.
          type: string
        config:
          description: The configuration of this algorithm.
          type: object
          additionalProperties: true
    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: War

# --- truncated at 32 KB (39 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/delphix/refs/heads/main/openapi/delphix-algorithms-api-openapi.yml