# Retrieve the list of algorithms for a Data Class.

Endpoint: GET /data-classes/{dataClassId}/algorithms
Version: 3.30.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## Path parameters:

  - `dataClassId` (string, required)
    The ID of the Data Class.

## Query parameters:

  - `limit` (integer)
    Maximum number of objects to return per query. The value must be between 1 and 1000. Default is 100.

  - `cursor` (string)
    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)
    The field to sort results by. A property name with a prepended '-' signifies a descending order.

## Response 200:

  - `200` (unknown)
    OK

## Response 200 fields (application/json):

  - `items` (array)

  - `items.id` (string)
    The algorithm entity ID.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.name` (string)
    The name of this algorithm.
    Example: Address

  - `items.description` (string)
    A description of this algorithm.

  - `items.plugin_name` (string)
    The name of the plugin that this algorithm belongs to.
    Example: dlpx-core

  - `items.plugin_id` (string)
    The id of the plugin that this algorithm belongs to.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.framework_name` (string)
    The name of the framework that this algorithm belongs to.
    Example: Secure Lookup

  - `items.framework_id` (string)
    The id of the framework that this algorithm belongs to.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.engine_name` (string)
    The name of the origin engine that this algorithm belongs to.
    Example: Compliance Engine 1

  - `items.engine_id` (string)
    The id of the origin engine that this algorithm belongs to.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.revision_hash` (string)
    The export revision hash of this algorithm from the source engine.
    Example: 90f4dc6d405c

  - `items.config` (object)
    The configuration of this algorithm.

  - `items.create_date` (string)
    The date and time this algorithm was created.
    Example: 2022-11-30T08:51:34.148000+00:00

  - `items.account_id` (integer)
    The ID of the account who created this algorithm.
    Example: 1

  - `items.account_name` (string)
    The account name of the DCT user who created this algorithm.
    Example: John Doe

  - `items.dct_managed` (boolean)
    Whether this algorithm is managed by DCT or not.

  - `items.config_invalid` (boolean)
    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.

  - `items.is_default_instance` (boolean)
    Whether this algorithm is defined in the plugin.

  - `items.is_tokenization_supported` (boolean)
    Whether this algorithm supports tokenization (re-identification). Depends on the algorithm configuration.

  - `items.can_return_null` (boolean)
    Whether this algorithm (or any of its dependencies) may return a null value.

  - `items.fields` (array)
    The list of fields if it is a multi-column/multi-condition algorithm.

  - `items.fields.id` (string)
    The id of the algorithm field.
    Example: 20b4692e-381d-40a0-a46e-0ba7658acaf3

  - `items.fields.name` (string)
    The name of the algorithm field.
    Example: ADDRESS_LINE1

  - `items.fields.type` (string)
    The type of algorithm field.
    Enum: "BIG_DECIMAL", "LOCAL_DATE_TIME", "STRING", "BYTE_BUFFER"

  - `items.fields.is_read_only` (boolean)
    Indicates whether the field is read-only. Read-only fields are taken as input by the masking algorithm but not masked.

  - `items.fields.is_optional` (boolean)
    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.

  - `items.fields.description` (string)
    The description of the algorithm field.

  - `items.tags` (array)
    The tags of this algorithm.

  - `items.tags.key` (string, required)
    Key of the tag
    Example: key-1

  - `items.tags.value` (string, required)
    Value of the tag
    Example: value-1

  - `items.mappings_status` (string)
    Sync state for migrated mapping algorithms. NOT_SYNCED means the algorithm was imported but mapping data has not yet been pulled (local) or remote credentials have not been provided. SYNCING means a sync job is in progress. SYNCED means data is available. FAILED means the last sync attempt failed; see status_detail. Absent for native DCT algorithms and non-mapping algorithms.
    Enum: "NOT_SYNCED", "SYNCING", "SYNCED", "FAILED"

  - `items.status_detail` (string)
    Human-readable failure reason when mappings_status is FAILED (e.g. "poll timeout"). Null when status is NOT_SYNCED, SYNCING, or SYNCED.

  - `items.mapping_is_remote` (boolean)
    True if this is a remote mapping algorithm, whose mapping data lives in a customer-provided external database and requires credential completion via PATCH /algorithms/{algorithmId}. False for local mapping algorithms, whose data is pulled into DCT's own mapping store via POST /algorithms/{algorithmId}/mappings/sync. Absent for non-mapping algorithms.

  - `response_metadata` (object)

  - `response_metadata.prev_cursor` (string)
    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.

  - `response_metadata.next_cursor` (string)
    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.

  - `response_metadata.total` (integer)
    The total number of results. This value may not be provided.

