# Start Curation Job Start a batch curation job on a given storage. Endpoint: POST /curationjobs Version: 3 Security: apiKey ## Request fields (application/json): - `name` (string) Name of a Job. Example: "Process vendor data." - `description` (string) Detailed description of a Job. Example: "I started this job to improve quality of our data." - `storageId` (string, required) Unique identifier of the Storage. Example: "72d6900fce6b326088f5d9d91049e3e6" - `dataSourceIds` (array) If set, only the records that belong to the data sources identified by these IDs are processed. By default, all records of the storage (means from all data sources) are processed (considering other filters). Example: ["648824a691d8d2503d65103e"] - `countryShortNames` (array) If set, only the records that belong to the countries identified by these short names are processed. By default, all records of the storage (means from all countries) are processed (considering other filters). Example: ["CH"] - `workers` (integer) Number of workers to be used for the job. By default, the number of workers is 1. Example: "3" - `profile` (string) Used to configure the curation process. Available wiki documentation for profiles: * [STANDARD](https://meta.cdq.com/API/Data_Curation_API/Profile/STANDARD) * [ADDRESS_ONLY](https://meta.cdq.com/API/Data_Curation_API/Profile/ADDRESS_ONLY) * [STANDARD_ADDRESS_CURATION_AND_ENRICHMENT](https://meta.cdq.com/API/Data_Curation_API/Profile/STANDARD_ADDRESS_CURATION_AND_ENRICHMENT) * [ADDRESS_STANDARDIZATION](https://meta.cdq.com/API/Data_Curation_API/Profile/ADDRESS_STANDARDIZATION) * [ADDRESS_TRANSLATION](https://meta.cdq.com/API/Data_Curation_API/Profile/ADDRESS_TRANSLATION) * [BUSINESS_PARTNER_ONLY](https://meta.cdq.com/API/Data_Curation_API/Profile/BUSINESS_PARTNER_ONLY) * [FEATURES_OFF](https://meta.cdq.com/API/Data_Curation_API/Profile/FEATURES_OFF) * [NATURAL_PERSON_SCREENING](https://meta.cdq.com/API/Data_Curation_API/Profile/NATURAL_PERSON_SCREENING) * [PRECURATION](https://meta.cdq.com/API/Data_Curation_API/Profile/PRECURATION) * [GOLDEN_RECORD](https://meta.cdq.com/API/Data_Curation_API/Profile/GOLDEN_RECORD) Enum: "STANDARD", "ADDRESS_ONLY", "STANDARD_ADDRESS_CURATION_AND_ENRICHMENT", "ADDRESS_STANDARDIZATION", "ADDRESS_TRANSLATION", "BUSINESS_PARTNER_ONLY", "FEATURES_OFF", "NATURAL_PERSON_SCREENING", "PRECURATION", "GOLDEN_RECORD" - `language` (string) ISO 639-1 two-letter code of languages. Example: "DE" - `outputCharsets` (array) List of Output Character Sets. - `outputCharsets.concept` (string) Defines concept for output charset. Example: "ADDRESS" - `outputCharsets.charset` (string) Defines type for output charset. Example: "LATIN" - `addressDataSources` (object) Preferred data sources for curation. Default PrimaryAddressDataSource is HERE. Default SecondaryAddressDataSource is CDQ. - `addressDataSources.primaryAddressDataSource` (object) Data source for curation. - `addressDataSources.primaryAddressDataSource.technicalKey` (string) Technical key for Address Data Source. Example: "HERE" - `addressDataSources.primaryAddressDataSource.threshold` (number) Threshold for the address data source. The threshold is a value between 0.0 and 1.0. Example: "0.4" - `addressDataSources.secondaryAddressDataSources` (array) - `addressCurationLevelThreshold` (string) Indicator for curation quality. Defines how good curation was. UNKNOWN: No possibility to determine curation level. LEVEL_1: The address was not found by the CDQ in the employed external data sources. LEVEL_2: The address was found, but there were significant changes in critical fields. LEVEL_3: The address was found and there are minor changes in highly important fields. LEVEL_4: The address was found by the CDQ. There were only changes in less critical fields such as the address/premise or address/thoroughfare/number. LEVEL_5: The address was found by the CDQ, but no major changes have been made as the address was correct. LEVEL_6: The address was found in the shared CDQ data pool. This means another company uses the same address which is a very reliable indicator that the address is correct (only in a alpha version) Additional documentation can be found [here](https://meta.cdq.com/Quality_indicator/address_cleansing_curation_level#Curation_level). Example: "LEVEL_1" - `fields` (array) Fields are deprecated. Enum: "formattedAddress", "legalAddress", "companyStatus", "classifications" - `featuresOn` (array) List of features to be activated. Enum: "ACTIVATE_DATASOURCE_BVD", "ACTIVATE_DATASOURCE_DNB", "ALL_ADDRESS_VERSIONS", "CAPITALIZE_ADDRESS", "CONFIRM_IDENTIFIERS", "DETECT_INDUSTRIAL_ZONE", "ENABLE_FUZZY_ENRICHMENTS", "ENABLE_SETTINGS", "ENABLE_UNALLOWED_NAME_VALUE_VALIDATION", "ENRICH_ADDRESS", "ENRICH_ADDRESS_TYPE", "ENRICH_ADMINISTRATIVE_AREA_ISO", "ENRICH_CATEGORY", "ENRICH_CLASSIFICATIONS", "ENRICH_COMPANY_STATUS", "ENRICH_GEOGRAPHIC_COORDINATES", "ENRICH_GOOGLE_PLACES_INFORMATION", "ENRICH_IDENTIFIERS", "ENRICH_LEGAL_ADDRESS", "ENRICH_LOCAL_ADDRESS", "ENRICH_LEGAL_FORM", "ENRICH_MINORITY_INDICATOR", "ENRICH_POST_CODE", "ENRICH_POST_CODE_TYPE", "ENRICH_REGISTERED_NAME", "ENRICH_VAT_REGISTERED_INFORMATION", "EXTRACT_ADDRESS_CONTEXT", "EXTRACT_CARE_OF", "EXTRACT_DOING_BUSINESS_AS", "EXTRACT_NAME_DETAILS", "HARMONIZE_IDENTIFIERS", "HARMONIZE_NAME", "JOIN_THOROUGHFARE_NUMBER_POSTFIX", "JOIN_THOROUGHFARE_NUMBER_PREFIX", "NORMALIZE_ADDRESS", "NORMALIZE_BUSINESS_PARTNER", "PARSE_ADDRESS", "PARSE_LEGAL_FORM", "PARSE_LEGAL_FORM_WORLDWIDE", "PARSE_NAMES", "PREFER_COUNTY", "PREFER_THOROUGHFARE_NAME", "PREFER_THOROUGHFARE_SHORTNAME", "PREPROCESS_ADDRESS", "PREPROCESS_BUSINESS_PARTNER", "REMOVE_CONTACT_INFORMATION", "REMOVE_INVALID_IDENTIFIERS", "SHARING_PRIMARY", "SHOW_DEBUG_INFO", "SHOW_FORMATTED_ADDRESS", "SHOW_FORMATTED_SAP_RECORD", "SHOW_SETTINGS", "STANDARDIZE_REGISTERED_ADDRESS", "STANDARDIZE_VAT_REGISTERED_ADDRESS", "TRANSLATE_ADDRESS", "TRANSLATE_NAMES", "USE_ADDRESS_INDEX_KR", "LAB_ALLOW_LONG_LOOKUP_CALLS", "LAB_QUERY_CLIENT", "LAB_QUERY_GOOGLE_WITH_COMPANY", "LAB_QUERY_PELIAS_WITH_COMPANY", "LAB_USE_GOOGLE_MAPS", "LAB_USE_LOOKUP_CLASSIFICATION_ONLY", "LAB_USE_PELIAS", "LAB_USE_QUEUES", "USE_LOCALITY_SHORTNAME_REFERENCE" - `featuresOff` (array) List of features to be deactivated. Enum: "ACTIVATE_DATASOURCE_BVD", "ACTIVATE_DATASOURCE_DNB", "ALL_ADDRESS_VERSIONS", "CAPITALIZE_ADDRESS", "CONFIRM_IDENTIFIERS", "DETECT_INDUSTRIAL_ZONE", "ENABLE_FUZZY_ENRICHMENTS", "ENABLE_SETTINGS", "ENABLE_UNALLOWED_NAME_VALUE_VALIDATION", "ENRICH_ADDRESS", "ENRICH_ADDRESS_TYPE", "ENRICH_ADMINISTRATIVE_AREA_ISO", "ENRICH_CATEGORY", "ENRICH_CLASSIFICATIONS", "ENRICH_COMPANY_STATUS", "ENRICH_GEOGRAPHIC_COORDINATES", "ENRICH_GOOGLE_PLACES_INFORMATION", "ENRICH_IDENTIFIERS", "ENRICH_LEGAL_ADDRESS", "ENRICH_LOCAL_ADDRESS", "ENRICH_LEGAL_FORM", "ENRICH_MINORITY_INDICATOR", "ENRICH_POST_CODE", "ENRICH_POST_CODE_TYPE", "ENRICH_REGISTERED_NAME", "ENRICH_VAT_REGISTERED_INFORMATION", "EXTRACT_ADDRESS_CONTEXT", "EXTRACT_CARE_OF", "EXTRACT_DOING_BUSINESS_AS", "EXTRACT_NAME_DETAILS", "HARMONIZE_IDENTIFIERS", "HARMONIZE_NAME", "JOIN_THOROUGHFARE_NUMBER_POSTFIX", "JOIN_THOROUGHFARE_NUMBER_PREFIX", "NORMALIZE_ADDRESS", "NORMALIZE_BUSINESS_PARTNER", "PARSE_ADDRESS", "PARSE_LEGAL_FORM", "PARSE_LEGAL_FORM_WORLDWIDE", "PARSE_NAMES", "PREFER_COUNTY", "PREFER_THOROUGHFARE_NAME", "PREFER_THOROUGHFARE_SHORTNAME", "PREPROCESS_ADDRESS", "PREPROCESS_BUSINESS_PARTNER", "REMOVE_CONTACT_INFORMATION", "REMOVE_INVALID_IDENTIFIERS", "SHARING_PRIMARY", "SHOW_DEBUG_INFO", "SHOW_FORMATTED_ADDRESS", "SHOW_FORMATTED_SAP_RECORD", "SHOW_SETTINGS", "STANDARDIZE_REGISTERED_ADDRESS", "STANDARDIZE_VAT_REGISTERED_ADDRESS", "TRANSLATE_ADDRESS", "TRANSLATE_NAMES", "USE_ADDRESS_INDEX_KR", "LAB_ALLOW_LONG_LOOKUP_CALLS", "LAB_QUERY_CLIENT", "LAB_QUERY_GOOGLE_WITH_COMPANY", "LAB_QUERY_PELIAS_WITH_COMPANY", "LAB_USE_GOOGLE_MAPS", "LAB_USE_LOOKUP_CLASSIFICATION_ONLY", "LAB_USE_PELIAS", "LAB_USE_QUEUES", "USE_LOCALITY_SHORTNAME_REFERENCE" - `configurationId` (string) Configuration ID used to set up curation. If provided, those parameters will be affected. If any of them is provided in this request, will overwrite one from configuration (except for features which are merged): * * * * * * * * * Example: "5c5356588c72a028c448adbd" - `optionSkipReport` (boolean) Deprecated and not usable. For a report creation, use . Example: "true" - `reportsRequest` (object) Deprecated. Reports are available in Data Clinic app. - `reportsRequest.dataCurationJobId` (string) Unique ID of a data curation job. Example: "a34fb367-85aa-400f-b369-53863432050c" - `reportsRequest.name` (string) Name of the job. Example: "Data Curation Reports Job" - `reportsRequest.description` (string) Description of the job. Example: "The report will be generated for the Data Curation Job with ID: a34fb367-85aa-400f-b369-53863432050c." - `reportsRequest.reportsConfiguration` (object, required) Configures if and how Data Curation reports are generated. - `reportsRequest.reportsConfiguration.addressCuration` (object) Configures if and how Address Curation reports are generated. - `reportsRequest.reportsConfiguration.addressCuration.build` (boolean) Enable to generate this report. Example: "true" - `reportsRequest.reportsConfiguration.legalEntityCuration` (object) Configures if and how Legal Entity Curation reports are generated. - `reportsRequest.reportsConfiguration.naturalPersonScreening` (object) Configures if and how Natural Person Screening reports are generated. - `reportsRequest.reportsConfiguration.vatRegistrationData` (object) Configures if and how Vat Registration Data reports are generated. ## Response 200 fields (application/json): - `id` (string) Unique identifier of a job. Example: "35f23c03-1c22-45fe-9484-3ffe769325de" - `name` (string) Name of a Job. Example: "Process vendor data" - `description` (string) Detailed description of a Job. Example: "I started this job to improve quality of our data." - `storageId` (string) Unique identifier of the Storage. Example: "72d6900fce6b326088f5d9d91049e3e6" - `dataSourceIds` (array) List of Data Source IDs. Example: ["648824a691d8d2503d65103e"] - `countryShortNames` (array) List of country short names. Example: ["CH"] - `status` (string) Curation Job execution status. Enum: "UNKNOWN", "CREATED", "PERSISTED", "SCHEDULED", "WAITING", "RUNNING", "FINISHED", "DIED", "CANCELED", "FAILED", "ARCHIVED" - `statusMessage` (string) Additional information to explain the status. Example: "The job failed because storage is empty." - `createdAt` (string) Date of creation (ISO 8601-compliant). Example: "2025-09-12T14:57:38Z" - `user` (string) ID of (human) user or API key. Example: "742429-234242-4343-232323" - `progress` (integer) Progress (%) of the job. Example: "77" - `attachments` (array) List of attachments. - `attachments.url` (string) Url of the file resource linking to s3. Example: "customer-upload/user/file.xlsx" - `attachments.tags` (array) Example: ["Reporting"] - `reportsJobId` (string) Unique identifier of a Reports Job. Example: "6be92567-4327-4463-813f-a8c990410d79" - `reportsConfiguration` (object) Configures if and how Data Curation reports are generated. - `reportsConfiguration.addressCuration` (object) Configures if and how Address Curation reports are generated. - `reportsConfiguration.addressCuration.build` (boolean) Enable to generate this report. Example: "true" - `reportsConfiguration.legalEntityCuration` (object) Configures if and how Legal Entity Curation reports are generated. - `reportsConfiguration.naturalPersonScreening` (object) Configures if and how Natural Person Screening reports are generated. - `reportsConfiguration.vatRegistrationData` (object) Configures if and how Vat Registration Data reports are generated. ## Response 400 fields (application/json): - `status` (object) Details about status or error of a service - `status.code` (integer) RFC 7231 status code for this error. Example: "400" - `status.technicalKey` (string) Technical key describing the status or error Example: "OK" - `status.details` (array) - `status.details.id` (integer, required) 9-digit code which is uniquely identifying a message Example: 200000004 - `status.details.message` (string, required) Human-readable message which may also be presented in user interface. Example: "Business Partner Name is mandatory." - `status.details.technicalKey` (string) Technical key to uniquely identify a message. Example: "JOB_FINISHED" - `status.details.jsonPath` (string) JSONPath as specified by the IETF standard Example: "$.businessPartner.names[0].value" - `status.path` (string) Requested path which caused this error. Example: "/v2/businesspartners/lookup" - `status.timestamp` (string) ISO 8601 representation of the timestamp. Example: "2025-09-12T14:57:38Z"