# Retrieve the list of Data Classes.

Endpoint: GET /data-classes
Version: 3.30.0
Security: ApiKeyAuth

## Security:

  - `ApiKeyAuth` (unknown)
    apiKey in header Authorization

## 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 data class ID.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.name` (string)
    The name of this data class.
    Example: Account Number

  - `items.description` (string)
    A description of this data class.

  - `items.default_algorithm_id` (string)
    The ID of the default masking algorithm for this data class.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.default_algorithm_name` (string)
    The name of the default masking algorithm for this data class.
    Example: alg1

  - `items.default_token_algorithm_id` (string)
    The ID of the default tokenization algorithm for this data class.
    Example: a638d976-6b7e-43f4-9212-90f4dc6d405c

  - `items.default_token_algorithm_name` (string)
    The default tokenization algorithm for this data class.
    Example: alg2

  - `items.algorithm_ids` (array)
    The list of algorithm IDs available for this data class.
    Example: ["a638d976-6b7e-43f4-9212-90f4dc6d405c","414ed52c-fa89-455d-9fb9-9c2fa5115f80"]

  - `items.algorithms` (array)
    The list of algorithm IDs and names available for this data class.

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

  - `items.algorithms.name` (string)
    The algorithm name.
    Example: Masking Algorithm

  - `items.algorithms.masking_type` (string)
    Enum: "STRING", "DATE", "LOCAL_DATE_TIME", "BIG_DECIMAL", "BYTE_BUFFER", "GENERIC_DATA_ROW", "ADVANCED_OBJECT"

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

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

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

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

  - `items.algorithms.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.algorithms.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.algorithms.fields.description` (string)
    The description of the algorithm field.

  - `items.example` (string)
    An example data value for this data class.

  - `items.revision_hash` (string)
    The export revision hash of this data class from the source engine.
    Example: 6e0509df463cf714b2697ccf2f8ac972970021d1

  - `items.engine_id` (string)
    The ID of the engine that this data class originated from.

  - `items.engine_name` (string)
    The name of the engine that this data class originated from.

  - `items.creation_date` (string)
    The date this data class was created.
    Example: 2022-11-30T08:51:34.148000+00:00

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

  - `items.account_name` (string)
    The account name of the DCT user who created this data class.
    Example: username

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

  - `items.built_in` (boolean)
    Whether this data class is built-in or user-defined.

  - `items.tags` (array)
    The tags of this data class.

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

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

  - `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.

