# Get masking job by ID Endpoint: GET /masking-jobs/{maskingJobId} Version: 5.1.41 Security: api_key ## Path parameters: - `maskingJobId` (integer, required) The ID of the masking job to get ## Response 200 fields (application/json): - `maskingJobId` (integer) The ID number of the masking job. This field is auto-generated by the Masking Engine. - `jobName` (string, required) The name of the masking job. Once the masking job is created, this field cannot be changed. Example: "some_masking_job" - `rulesetId` (integer, required) The ID of the ruleset that this masking job is based on. Once the masking job is created, the underlying environment that is inferred from the ruleset will be unchangeable. That is, the job can only be updated to reference a ruleset that is in the same environment as the environment of the original ruleset. Example: 7 - `rulesetType` (string) The type of the ruleset that this masking job is assigned to. - `createdBy` (string) The user that created the masking job. This field is auto-generated by the Masking Engine. - `createdTime` (string) The time when the masking job was created. This field is auto-generated by the Masking Engine. - `email` (string) The email address to send job status notifications to; note that the SMTP settings must be configured first to receive notifications. - `feedbackSize` (integer) The granularity with which the Masking Engine provides updates on the progress of the masking job. For instance, a feedbackSize of 50000 results in log updates whenever 50000 rows are processed during the masking phase. Example: 100000 - `jobDescription` (string) A description of the job. Example: "This example illustrates a MaskingJob with just a handful of the possible fields set. It is meant to exemplify a simple JSON body that can be passed to the endpoint to create a MaskingJob." - `maxMemory` (integer) The maximum amount of memory, in MB, that the masking job can consume during execution. - `minMemory` (integer) The minimum amount of memory, in MB, that the masking job can consume during execution. - `multiTenant` (boolean) This field determines whether the masking job, after creation, can be executed using a connector that is different from the underlying connector associated with the ruleset that this masking job is based on. - `numInputStreams` (integer) This field controls the amount of parallelism that the masking job uses to extract out the data to be masked. For instance, when masking a database, specifying 5 input streams results in the masking job reading up to 5 database tables in parallel and then masking those 5 streams of data in parallel. The higher the value of this field, the more potential parallelism there will be in the job, but the masking job will consume more memory. If the number of input streams exceeds the number of units being masked (e.g. tables or files), then the excess streams will do nothing. - `onTheFlyMasking` (boolean) This field determines whether the masking job will be performed InPlace or OnTheFly. The process for InPlace masking is to read out the data to be masked, mask the data, and then load the masked data back into the original data source. The process for OnTheFly masking is to read out the data to be masked, mask the data, and then load the masked data back into a different data source. When masking OnTheFly, the field 'onTheFlyMaskingSource' must be provided. - `databaseMaskingOptions` (object) - `databaseMaskingOptions.batchUpdate` (boolean) This field determines whether the database load phase to output the masked data will be performed in batches. The size of the batches is determined by the field 'commitSize'. This option is recommended because it typically improves the performance of the masking job. - `databaseMaskingOptions.commitSize` (integer) This field corresponds to the size of the database commits when performing batch updates. - `databaseMaskingOptions.disableConstraints` (boolean) This field determines whether the database constraints on the tables to-be-masked will be temporarily disabled/dropped prior to when the masking phase starts, and then reenabled/recreated after the masking phase finishes. Due to the large amount of data mutation that is inherent to the masking phase, this option can improve performance by preventing the need to constantly reevaluate constraints while performing the data masking. Further, this option is often necessary for masking columns that are part of foreign key constraints because those constraints can be temporarily violated during the masking phase. - `databaseMaskingOptions.dropIndexes` (boolean) This field determines whether the database indexes on the tables to-be-masked will be temporarily disabled/dropped prior to when the masking phase starts, and then reenabled/recreated after the masking phase finishes. Due to the large amount of data mutation that is inherent to the masking phase, this option can improve performance by preventing the need to constantly re-index the tables while performing the data masking. - `databaseMaskingOptions.disableTriggers` (boolean) This field determines whether the database triggers on the tables to-be-masked will be temporarily disabled/dropped prior to when the masking phase starts, and then reenabled/recreated after the masking phase finishes. Due to the large amount of data mutation that is inherent to the masking phase, this option can improve performance by preventing the constant execution of triggers while performing the data masking. - `databaseMaskingOptions.numOutputThreadsPerStream` (integer) This field controls the amount of parallelism, per input stream, that the masking job uses to load back the masked data. For instance, specifying 4 output threads per stream with 5 input streams results in a total of 20 output threads for the whole job. The higher the value of this field, the more potential parallelism there will be in the job, but the masking job will consume more memory. WARNING: when masking a database and specifying more than 1 output thread per stream, there is the potential for a deadlock that could stall the masking job indefinitely. - `databaseMaskingOptions.truncateTables` (boolean) This field only applies when masking a database OnTheFly, and it determines whether the target database tables are truncated prior to loading the masked data into the target database (after the masking phase is done). - `databaseMaskingOptions.prescript` (object) - `databaseMaskingOptions.prescript.name` (string, required) The name of the job SQL script, e.g. 'prescript.sql' or 'postscript.sql' - `databaseMaskingOptions.prescript.contents` (string, required) The file contents of the job SQL script. - `databaseMaskingOptions.postscript` (object) - `onTheFlyMaskingSource` (object) - `onTheFlyMaskingSource.connectorId` (integer, required) The ID number of the source connector for the OnTheFly masking job. - `onTheFlyMaskingSource.connectorType` (string) The type of the source connector for the OnTheFly masking job. Enum: "DATABASE", "FILE", "VSAM" - `failImmediately` (boolean) This field determines whether the masking job will fail immediately or delay failure until job completion when a masking algorithm fails to mask its data. Setting this value to 'false' provides a means for a user to see all cumulative masking errors before the job is marked as failed. - `enabledTasks` (array) This field determines what tasks to perform before/after a job from a set of available driver support tasks as indicated by the chosen target ruleset/connector. Example: [{"taskId":1}] - `enabledTasks.taskId` (integer, required) The object identifier of the DRIVER_SUPPORT_TASK plugin object type found in the response of the plugin API. Example: 1 - `streamRowLimit` (integer) This value constrains the total number of rows that may enter the job for each masking stream. A setting of 0 means unlimited. A value of -1 selects the default value. The default value for this setting varies by job type. The minimum explicit value allowed is 20 ## Response 400 fields ## Response 403 fields ## Response 404 fields