# Start Transformation Job Starting a Transformation Job. In case any selected data source does not have a an API error returned. Endpoint: POST /jobs/transformationjobs Version: 5 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." - `dataSourceId` (string) Unique identifier for a Data Source of the Storage. If set, only the records that belong to the data source identified by this ID are transformed. By default, all records of the Business Partner Storage (means from all data sources) are transformed. Example: "648824a691d8d2503d65103e" - `countries` (array) List of countries for which the records should be transformed. - `countries.shortName` (string, required) Country code (ISO 3166-1 alpha-2). Example: "CH" - `storageId` (string, required) Unique identifier of the Storage. Example: "72d6900fce6b326088f5d9d91049e3e6" - `dataMapperDefinitionId` (string) ID of related Data Mapper Definition that is used for mapping data of this Business Partner Storage. Example: "6440dba32b30176c5917b1b7" - `dataTransformationDefinitionId` (string) Unique identifier for a data transformation definition. Example: "SAP.ODM" - `startAfter` (string) Processes transformation of records starting from the ID 'startAfter'. Example: "NjI4ZGNkZjAzYjlkMjY4NjhlNjQxNDRm" - `businessPartnerIds` (array) List of Business Partner IDs to be transformed. Example: ["63e635235c06b7396330fe40"] - `featuresOn` (array) Enum: "ENABLE_EXTERNAL_ID_UPDATE", "UPSERT_CHANGES_ONLY" ## 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." - `createdBy` (string) Creator of a resource. Example: "76248934691294444" - `createdAt` (string) Date of creation (ISO 8601-compliant). Example: "2025-09-10T10:12:36Z" - `modifiedAt` (string) Date of modification (ISO 8601-compliant). Example: "2025-09-10T10:12:36Z" - `progress` (integer) Progress (%) of the job. Example: "77" - `status` (string) Job execution status. Enum: "ARCHIVED", "UNKNOWN", "CREATED", "PERSISTED", "SCHEDULED", "WAITING", "COULDNT_START", "RUNNING", "FINISHED", "DIED", "CANCELED", "FAILED" - `statusMessage` (string) The status message contains the error message if the transformation job failed. Example: "DataSource [5e2874fb8d2a7400011acee1] has no DataMapperDefinition attached and no alternative dataMapperDefinitionId was passed to the job" - `storageId` (string) Unique identifier of the Storage. Example: "72d6900fce6b326088f5d9d91049e3e6" - `dataSourceId` (string) Unique identifier for a Data Source of the Storage. Example: "648824a691d8d2503d65103e" - `dataMapperDefinitionId` (string) ID of related Data Mapper Definition that is used for mapping data of this Business Partner Storage. Example: "6440dba32b30176c5917b1b7" - `dataTransformationDefinitionId` (string) Unique identifier for a data transformation definition. Example: "SAP.ODM" - `featuresOn` (array) Example: ["UPSERT_CHANGES_ONLY"] - `result` (object) The result of a Transformation Job. - `result.statistics` (object) The statistics of a transformation job. - `result.statistics.numberOfRecords` (integer) Number of records in the Business Partner Storage. Example: "500" - `result.statistics.numberOfFailed` (integer) The number of failed transformation. Example: "10" - `domain` (string) Domain of a Business Partner Storage. Example: "BusinessPartner" ## 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.details.jsonRecord` (string) Object provided in plain JSON format. Example: "{ \"key\" : \"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-10T10:12:36Z"