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

# POST /idnamespaces

`POST /idnamespaces`

Creates an ID namespace object which will help customers provide metadata explaining their dataset and how to use it. Each ID namespace must have a unique name. To modify an existing ID namespace, use the UpdateIdNamespace API.

## Request body

- object
  - `idNamespaceName` string, required — The name of the ID namespace.
  - `description` string — The description of the ID namespace.
  - `inputSourceConfig` IdNamespaceInputSource[] — 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.
  - `idMappingWorkflowProperties` IdNamespaceIdMappingWorkflowProperties[] — Determines the properties of <code>IdMappingWorflow</code> where this <code>IdNamespace</code> can be used as a <code>Source</code> or a <code>Target</code>.
    - `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 for the ID namespace.
        - `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.
      - `ruleDefinitionTypes` IdMappingWorkflowRuleDefinitionType[] — The sets of rules you can use in an ID mapping workflow. The limitations specified for the source and target must be compatible.
      - `attributeMatchingModel` 'ONE_TO_ONE' | 'MANY_TO_MANY' — <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 <code>BusinessEmail</code> field of Profile B, the two profiles are matched on the <code>Email</code> attribute type. </p>
      - `recordMatchingModels` RecordMatchingModel[] — <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 is matched to one record in the target. </p> <p>If the value is set to <code>MANY_SOURCE_TO_ONE_TARGET</code>, all matching records in the source are 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 Amazon Resource Name (ARN) of the provider service.
      - `providerConfiguration` object — An object which defines any additional configurations required by the provider service.
  - `type` 'SOURCE' | 'TARGET', required — <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> to which all <code>sourceIds</code> will resolve to.</p>
  - `roleArn` string — The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in this <code>IdNamespace</code> on your behalf as part of the workflow run.
  - `tags` object — The tags used to organize, track, or control access for this resource.

## Response `200`

Success

- CreateIdNamespaceOutput
  - `idNamespaceName` string, required — The name of the ID namespace.
  - `idNamespaceArn` string, required — The Amazon Resource Name (ARN) of the ID namespace.
  - `description` string — The description of the ID namespace.
  - `inputSourceConfig` IdNamespaceInputSource[] — 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.
  - `idMappingWorkflowProperties` IdNamespaceIdMappingWorkflowProperties[] — Determines the properties of <code>IdMappingWorkflow</code> where this <code>IdNamespace</code> can be used as a <code>Source</code> or a <code>Target</code>.
    - `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 for the ID namespace.
        - `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.
      - `ruleDefinitionTypes` IdMappingWorkflowRuleDefinitionType[] — The sets of rules you can use in an ID mapping workflow. The limitations specified for the source and target must be compatible.
      - `attributeMatchingModel` 'ONE_TO_ONE' | 'MANY_TO_MANY' — <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 <code>BusinessEmail</code> field of Profile B, the two profiles are matched on the <code>Email</code> attribute type. </p>
      - `recordMatchingModels` RecordMatchingModel[] — <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 is matched to one record in the target. </p> <p>If the value is set to <code>MANY_SOURCE_TO_ONE_TARGET</code>, all matching records in the source are 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 Amazon Resource Name (ARN) of the provider service.
      - `providerConfiguration` object — An object which defines any additional configurations required by the provider service.
  - `type` 'SOURCE' | 'TARGET', required — <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> to which all <code>sourceIds</code> will resolve to.</p>
  - `roleArn` string — The Amazon Resource Name (ARN) of the IAM role. Entity Resolution assumes this role to access the resources defined in <code>inputSourceConfig</code> on your behalf as part of the workflow run.
  - `createdAt` string, date-time, required — The timestamp of when the ID namespace was created.
  - `updatedAt` string, date-time, required — The timestamp of when the ID namespace was last updated.
  - `tags` object — The tags used to organize, track, or control access for this resource.

## 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)
