---
title: "POST /idmappingworkflows"
method: POST
path: "/idmappingworkflows"
---

# POST /idmappingworkflows

`POST /idmappingworkflows`

Creates an `IdMappingWorkflow` object which stores the configuration of the data processing job to be run. Each `IdMappingWorkflow` must have a unique workflow name. To modify an existing workflow, use the UpdateIdMappingWorkflow API.

Incremental processing is not supported for ID mapping workflows.

## Request body

- object
  - `workflowName` string, required — The name of the workflow. There can't be multiple <code>IdMappingWorkflows</code> with the same name.
  - `description` string — A description of the workflow.
  - `inputSourceConfig` IdMappingWorkflowInputSource[], required — A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.
    - `inputSourceARN` string, required — An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.
    - `schemaName` string — The name of the schema to be retrieved.
    - `type` 'SOURCE' | 'TARGET' — <p>The type of ID namespace. There are two types: <code>SOURCE</code> and <code>TARGET</code>. </p> <p>The <code>SOURCE</code> contains configurations for <code>sourceId</code> data that will be processed in an ID mapping workflow. </p> <p>The <code>TARGET</code> contains a configuration of <code>targetId</code> which all <code>sourceIds</code> will resolve to.</p>
  - `outputSourceConfig` IdMappingWorkflowOutputSource[] — A list of <code>IdMappingWorkflowOutputSource</code> objects, each of which contains fields <code>outputS3Path</code> and <code>KMSArn</code>.
    - `KMSArn` string — Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key.
    - `outputS3Path` string, required — The S3 path to which Entity Resolution will write the output table.
  - `idMappingTechniques` object, required — An object which defines the ID mapping technique and any additional configurations.
    - `idMappingType` 'PROVIDER' | 'RULE_BASED' — The type of ID mapping.
    - `ruleBasedProperties` object — An object which defines any additional configurations required by rule-based matching.
      - `rules` Rule[] — The rules that can be used for ID mapping.
        - `ruleName` string, required — A name for the matching rule.
        - `matchingKeys` AttributeName[], required — A list of <code>MatchingKeys</code>. The <code>MatchingKeys</code> must have been defined in the <code>SchemaMapping</code>. Two records are considered to match according to this rule if all of the <code>MatchingKeys</code> match.
      - `ruleDefinitionType` 'SOURCE' | 'TARGET', required — The set of rules you can use in an ID mapping workflow. The limitations specified for the source or target to define the match rules must be compatible.
      - `attributeMatchingModel` 'ONE_TO_ONE' | 'MANY_TO_MANY', required — <p>The comparison type. You can either choose <code>ONE_TO_ONE</code> or <code>MANY_TO_MANY</code> as the <code>attributeMatchingModel</code>. </p> <p>If you choose <code>ONE_TO_ONE</code>, the system can only match attributes if the sub-types are an exact match. For example, for the <code>Email</code> attribute type, the system will only consider it a match if the value of the <code>Email</code> field of Profile A matches the value of the <code>Email</code> field of Profile B.</p> <p>If you choose <code>MANY_TO_MANY</code>, the system can match attributes across the sub-types of an attribute type. For example, if the value of the <code>Email</code> field of Profile A matches the value of the <code>BusinessEmail</code> field of Profile B, the two profiles are matched on the <code>Email</code> attribute type. </p>
      - `recordMatchingModel` 'ONE_SOURCE_TO_ONE_TARGET' | 'MANY_SOURCE_TO_ONE_TARGET', required — <p> The type of matching record that is allowed to be used in an ID mapping workflow. </p> <p>If the value is set to <code>ONE_SOURCE_TO_ONE_TARGET</code>, only one record in the source can be matched to the same record in the target.</p> <p>If the value is set to <code>MANY_SOURCE_TO_ONE_TARGET</code>, multiple records in the source can be matched to one record in the target.</p>
    - `providerProperties` object — An object which defines any additional configurations required by the provider service.
      - `providerServiceArn` string, required — The ARN of the provider service.
      - `providerConfiguration` object — The required configuration fields to use with the provider service.
      - `intermediateSourceConfiguration` object — The Amazon S3 location that temporarily stores your data while it processes. Your information won't be saved permanently.
        - `intermediateS3Path` string, required — The Amazon S3 location (bucket and prefix). For example: <code>s3://provider_bucket/DOC-EXAMPLE-BUCKET</code>
  - `incrementalRunConfig` object — Incremental run configuration for an ID mapping workflow.
    - `incrementalRunType` 'ON_DEMAND' — <p> The incremental run type for an ID mapping workflow.</p> <p>It takes only one value: <code>ON_DEMAND</code>. This setting runs the ID mapping workflow when it's manually triggered through the <code>StartIdMappingJob</code> API.</p>
  - `roleArn` string — The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.
  - `tags` object — The tags used to organize, track, or control access for this resource.

## Response `200`

Success

- CreateIdMappingWorkflowOutput
  - `workflowName` string, required — The name of the workflow.
  - `workflowArn` string, required — The ARN (Amazon Resource Name) that Entity Resolution generated for the <code>IDMappingWorkflow</code>.
  - `description` string — A description of the workflow.
  - `inputSourceConfig` IdMappingWorkflowInputSource[], required — A list of <code>InputSource</code> objects, which have the fields <code>InputSourceARN</code> and <code>SchemaName</code>.
    - `inputSourceARN` string, required — An Glue table Amazon Resource Name (ARN) or a matching workflow ARN for the input source table.
    - `schemaName` string — The name of the schema to be retrieved.
    - `type` 'SOURCE' | 'TARGET' — <p>The type of ID namespace. There are two types: <code>SOURCE</code> and <code>TARGET</code>. </p> <p>The <code>SOURCE</code> contains configurations for <code>sourceId</code> data that will be processed in an ID mapping workflow. </p> <p>The <code>TARGET</code> contains a configuration of <code>targetId</code> which all <code>sourceIds</code> will resolve to.</p>
  - `outputSourceConfig` IdMappingWorkflowOutputSource[] — A list of <code>IdMappingWorkflowOutputSource</code> objects, each of which contains fields <code>outputS3Path</code> and <code>KMSArn</code>.
    - `KMSArn` string — Customer KMS ARN for encryption at rest. If not provided, system will use an Entity Resolution managed KMS key.
    - `outputS3Path` string, required — The S3 path to which Entity Resolution will write the output table.
  - `idMappingTechniques` object, required — An object which defines the ID mapping technique and any additional configurations.
    - `idMappingType` 'PROVIDER' | 'RULE_BASED', required — The type of ID mapping.
    - `ruleBasedProperties` object — An object which defines any additional configurations required by rule-based matching.
      - `rules` Rule[] — The rules that can be used for ID mapping.
        - `ruleName` string, required — A name for the matching rule.
        - `matchingKeys` AttributeName[], required — A list of <code>MatchingKeys</code>. The <code>MatchingKeys</code> must have been defined in the <code>SchemaMapping</code>. Two records are considered to match according to this rule if all of the <code>MatchingKeys</code> match.
      - `ruleDefinitionType` 'SOURCE' | 'TARGET', required — The set of rules you can use in an ID mapping workflow. The limitations specified for the source or target to define the match rules must be compatible.
      - `attributeMatchingModel` 'ONE_TO_ONE' | 'MANY_TO_MANY', required — <p>The comparison type. You can either choose <code>ONE_TO_ONE</code> or <code>MANY_TO_MANY</code> as the <code>attributeMatchingModel</code>. </p> <p>If you choose <code>ONE_TO_ONE</code>, the system can only match attributes if the sub-types are an exact match. For example, for the <code>Email</code> attribute type, the system will only consider it a match if the value of the <code>Email</code> field of Profile A matches the value of the <code>Email</code> field of Profile B.</p> <p>If you choose <code>MANY_TO_MANY</code>, the system can match attributes across the sub-types of an attribute type. For example, if the value of the <code>Email</code> field of Profile A matches the value of the <code>BusinessEmail</code> field of Profile B, the two profiles are matched on the <code>Email</code> attribute type. </p>
      - `recordMatchingModel` 'ONE_SOURCE_TO_ONE_TARGET' | 'MANY_SOURCE_TO_ONE_TARGET', required — <p> The type of matching record that is allowed to be used in an ID mapping workflow. </p> <p>If the value is set to <code>ONE_SOURCE_TO_ONE_TARGET</code>, only one record in the source can be matched to the same record in the target.</p> <p>If the value is set to <code>MANY_SOURCE_TO_ONE_TARGET</code>, multiple records in the source can be matched to one record in the target.</p>
    - `providerProperties` object — An object which defines any additional configurations required by the provider service.
      - `providerServiceArn` string, required — The ARN of the provider service.
      - `providerConfiguration` object — The required configuration fields to use with the provider service.
      - `intermediateSourceConfiguration` object — The Amazon S3 location that temporarily stores your data while it processes. Your information won't be saved permanently.
        - `intermediateS3Path` string, required — The Amazon S3 location (bucket and prefix). For example: <code>s3://provider_bucket/DOC-EXAMPLE-BUCKET</code>
  - `incrementalRunConfig` object — The incremental run configuration for the ID mapping workflow.
    - `incrementalRunType` 'ON_DEMAND' — <p> The incremental run type for an ID mapping workflow.</p> <p>It takes only one value: <code>ON_DEMAND</code>. This setting runs the ID mapping workflow when it's manually triggered through the <code>StartIdMappingJob</code> API.</p>
  - `roleArn` string — The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to create resources on your behalf as part of workflow execution.

## Other responses

- `480` — ThrottlingException
- `481` — InternalServerException
- `482` — AccessDeniedException
- `483` — ExceedsLimitException
- `484` — ConflictException
- `485` — ValidationException

---

[API](https://skmtc.net/aws/apis/entityresolution.md) · [All operations](https://skmtc.net/aws/apis/entityresolution/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/entityresolution/versions/480b85498767/schema)
