TDMMaskingService

TDMMaskingService
4-8-1
none
{ "swagger": "2.0", "info": { "description": "This section includes the APIs that perform various operations for masking data.It also provides the REST API URL for the respective operation along with sample request and response body content.", "version": "1.0", "title": "CA TDM Masking Service API", "termsOfService": "http://ca.com", "contact": { "name": "CA Technologies" }, "license": { "name": "The CA License Version 2.0", "url": "https://ca.com/LICENSE" } }, "host": "192.168.56.101:8443", "basePath": "/TDMMaskingService", "tags": [{ "name": "fdm-controller", "description": "FDM Controller" } ], "paths": { "/api/ca/v1/masking/functions": { "get": { "tags": ["fdm-controller"], "summary": "Interface to fetch all masking functions from the local instance of the Fast Data Masker", "operationId": "getFunctionsUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "dataType", "in": "query", "description": "The 'dataType' to filter on, can be 'char', 'number', 'date' or 'char_date'.", "required": false, "type": "string" }, { "name": "functionName", "in": "query", "description": "The 'functionName' to filter on, can be matched anywhere (i.e. a 'contains' search).", "required": false, "type": "string" }, { "name": "page", "in": "query", "description": "The page of data to request, starting from 0.", "required": false, "type": "integer", "default": 0, "format": "int32" }, { "name": "size", "in": "query", "description": "The size of the page of data to request.", "required": false, "type": "integer", "default": 50, "format": "int32" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PagedListResult?Map?string,string??" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/functions/{id}": { "get": { "tags": ["fdm-controller"], "summary": "Interface to fetch details of a single masking function", "operationId": "getFunctionInfoUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "id", "in": "path", "description": "The ID of the masking function to fetch", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": { "type": "string" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/jobs": { "delete": { "tags": ["fdm-controller"], "summary": "Interface to delete all masking job data for specified project/version", "operationId": "deleteDataUsingDELETE", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "projectId", "in": "query", "description": "Project ID.", "required": true, "type": "integer", "format": "int64" }, { "name": "versionId", "in": "query", "description": "Project version ID.", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } }, "/api/ca/v1/masking/jobs/start": { "post": { "tags": ["fdm-controller"], "summary": "Interface to start a masking job given an environment to mask", "operationId": "startJobUsingPOST", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "in": "body", "name": "params", "description": "params", "required": true, "schema": { "$ref": "#/definitions/PIIMaskingParameters" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PIIMaskingParameters" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/jobs/startCustom": { "post": { "tags": ["fdm-controller"], "summary": "Interface to start custom masking job given an masking file and connection profiles", "operationId": "startCustomJobUsingPOST", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "in": "body", "name": "params", "description": "Masking parameters", "required": true, "schema": { "$ref": "#/definitions/MaskingParametersCustom" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PIIMaskingParameters" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/jobs/{jobId}": { "get": { "tags": ["fdm-controller"], "summary": "Interface to fetch the status of a masking job", "operationId": "getStatusUsingGET", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "jobId", "in": "path", "description": "jobId", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DBMaskJob" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/jobs/{jobId}/audit": { "get": { "tags": ["fdm-controller"], "summary": "Interface to fetch zipfile containing audit log of the given masking job", "operationId": "getAuditZipFileUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "jobId", "in": "path", "description": "jobId", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/jobs/{jobId}/preSamples": { "delete": { "tags": ["fdm-controller"], "summary": "Interface to delete all pre-masked sample data for the specified masking job", "operationId": "deletePreSamplesUsingDELETE", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "jobId", "in": "path", "description": "jobId", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } }, "/api/ca/v1/masking/preSamples": { "delete": { "tags": ["fdm-controller"], "summary": "Interface to delete pre-masked sample data for the specified project/version. If no project/version is specified then all pre-masked sample data will be deleted.", "operationId": "deleteAllPreSamplesUsingDELETE", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "projectId", "in": "query", "description": "Project ID.", "required": true, "type": "integer", "format": "int64" }, { "name": "versionId", "in": "query", "description": "Project version ID.", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } }, "/api/ca/v1/masking/scripts": { "get": { "tags": ["fdm-controller"], "summary": "Interface to get pre and post scripts for enabling and disabling triggers and constraints", "operationId": "getScriptsUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "projectId", "in": "query", "description": "projectId", "required": true, "type": "integer", "format": "int64" }, { "name": "versionId", "in": "query", "description": "versionId", "required": true, "type": "integer", "format": "int64" }, { "name": "environmentId", "in": "query", "description": "environmentId", "required": true, "type": "integer", "format": "int64" }, { "name": "format", "in": "query", "description": "format", "required": false, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/PrePostScripts" } } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/seedlists": { "get": { "tags": ["fdm-controller"], "summary": "Interface to fetch all seedlists from the local instance of the Fast Data Masker", "operationId": "getSeedlistsUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "page", "in": "query", "description": "The page of data to request, starting from 0.", "required": false, "type": "integer", "default": 0, "format": "int32" }, { "name": "size", "in": "query", "description": "The size of the page of data to request.", "required": false, "type": "integer", "default": 50, "format": "int32" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/PagedListResult?FDMSeedlistDTO?" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/seedlists/{id}": { "get": { "tags": ["fdm-controller"], "summary": "Interface to fetch details of a single seedlist", "operationId": "getSeedlistInfoUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "id", "in": "path", "description": "The ID of the seedlist to fetch", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FDMSeedlistDTO" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } }, "/api/ca/v1/masking/setup": { "get": { "tags": ["fdm-controller"], "summary": "Interface for getting masking setup for the specified project and version", "description": "Returns a default (empty) setup if no masking setup exists for the specified project id and version id.", "operationId": "getMaskingSetupUsingGET", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "projectId", "in": "query", "description": "projectId", "required": true, "type": "integer", "format": "int64" }, { "name": "versionId", "in": "query", "description": "versionId", "required": true, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DBMaskSetup" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } }, "patch": { "tags": ["fdm-controller"], "summary": "Interface to update masking setup for the specified project and version", "description": "The profiler setup will be created if one doesn't already exist for the specified project id and version id.", "operationId": "updateSetupUsingPATCH", "consumes": ["application/json"], "produces": ["application/json"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" }, { "name": "projectId", "in": "query", "description": "projectId", "required": true, "type": "integer", "format": "int64" }, { "name": "versionId", "in": "query", "description": "versionId", "required": true, "type": "integer", "format": "int64" }, { "in": "body", "name": "setup", "description": "setup", "required": true, "schema": { "$ref": "#/definitions/DBMaskSetup" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DBMaskSetup" } }, "204": { "description": "No Content" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" } } } }, "/api/ca/v1/masking/status": { "get": { "tags": ["fdm-controller"], "summary": "Interface to get the masking service status (local or remote)", "operationId": "statusUsingGET", "consumes": ["application/json"], "produces": ["*/*"], "parameters": [{ "name": "Authorization", "in": "header", "description": "Use the /user/login interface to perform a user login using user credentials in the Basic HTTP authorization scheme. The API responds with a security token, which is valid for 24 hours by default. Use the security token in the Bearer HTTP authorization scheme to access any protected resource through this API on behalf of the user. For Example: Bearer {{token}}", "required": true, "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Status" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } } } } }, "definitions": { "DBMaskJob": { "type": "object", "properties": { "config": { "type": "string" }, "environmentId": { "type": "integer", "format": "int64" }, "jobId": { "type": "integer", "format": "int64" }, "jobState": { "type": "string" }, "previewMode": { "type": "boolean" }, "progress": { "type": "string" }, "projectId": { "type": "integer", "format": "int64" }, "startDate": { "type": "string", "format": "date-time" }, "stopDate": { "type": "string", "format": "date-time" }, "storePreSamples": { "type": "boolean" }, "versionId": { "type": "integer", "format": "int64" } } }, "DBMaskSetup": { "type": "object", "properties": { "confirmedOnly": { "type": "boolean" }, "dataSources": { "type": "string" }, "excludeNotPii": { "type": "boolean" }, "previewMode": { "type": "boolean" }, "projectId": { "type": "integer", "format": "int64" }, "storePreSamples": { "type": "boolean" }, "targetEnv": { "type": "integer", "format": "int64" }, "versionId": { "type": "integer", "format": "int64" }, "wholeEnv": { "type": "boolean" } } }, "FDMSeedlistDTO": { "type": "object", "properties": { "description": { "type": "string" }, "extendedDescription": { "type": "string" }, "group": { "type": "string" }, "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } }, "Map?string,string?": { "type": "object", "additionalProperties": { "type": "string" } }, "MaskingParametersCustom": { "type": "object", "properties": { "customConfigFile": { "type": "string" }, "customConnectionFile": { "type": "string" }, "customOptionsFile": { "type": "string" }, "customSeedConnectionFile": { "type": "string" }, "jobName": { "type": "string" }, "projId": { "type": "integer", "format": "int64" }, "pverId": { "type": "integer", "format": "int64" } } }, "PIIMaskingParameters": { "type": "object", "properties": { "autoHandleConstraints": { "type": "boolean" }, "confirmedOnly": { "type": "boolean" }, "connectionProfile": { "type": "string" }, "connectionProfiles": { "type": "object", "additionalProperties": { "type": "string" } }, "customConfigFile": { "type": "string" }, "customConnectionFile": { "type": "string" }, "customMasking": { "type": "boolean" }, "customOptionsFile": { "type": "string" }, "customSeedConnectionFile": { "type": "string" }, "dataSources": { "type": "array", "items": { "type": "string" } }, "environmentId": { "type": "integer", "format": "int64" }, "excNotPii": { "type": "boolean" }, "jobId": { "type": "integer", "format": "int64" }, "jobName": { "type": "string" }, "mappings": { "type": "array", "items": { "$ref": "#/definitions/Map?string,string?" } }, "previewMode": { "type": "boolean" }, "projId": { "type": "integer", "format": "int64" }, "pverId": { "type": "integer", "format": "int64" }, "scheduledTime": { "type": "string", "format": "date-time" }, "storePreSamples": { "type": "boolean" }, "userName": { "type": "string" } } }, "PagedListResult?FDMSeedlistDTO?": { "type": "object", "properties": { "elements": { "type": "array", "items": { "$ref": "#/definitions/FDMSeedlistDTO" } }, "numberOfElements": { "type": "integer", "format": "int32" }, "totalElements": { "type": "integer", "format": "int64" } } }, "PagedListResult?Map?string,string??": { "type": "object", "properties": { "elements": { "type": "array", "items": { "$ref": "#/definitions/Map?string,string?" } }, "numberOfElements": { "type": "integer", "format": "int32" }, "totalElements": { "type": "integer", "format": "int64" } } }, "PrePostScripts": { "type": "object", "properties": { "database": { "type": "string" }, "datasourceName": { "type": "string" }, "post": { "type": "string" }, "pre": { "type": "string" }, "profileName": { "type": "string" }, "serverName": { "type": "string" } } }, "Status": { "type": "object", "properties": { "agentCount": { "type": "integer", "format": "int32" }, "error": { "type": "string" }, "installPath": { "type": "string" }, "installed": { "type": "boolean" }, "minimumVersion": { "type": "string" }, "supported": { "type": "boolean" }, "version": { "type": "string" } } } } }