---
title: "Create an NLU Connector"
method: POST
path: "/v2.0/nluconnectors"
tags: ["NLU Connectors"]
---

# Create an NLU Connector

`POST /v2.0/nluconnectors`

Creates an [NLU Connector](https://docs.cognigy.com/ai/platform-features/nlu/external/nlu-connectors/overview#nlu-connectors) in a Project.

## Query parameters

- `resourceId` string

## Headers

- `Accept` 'application/json' | 'application/hal+json' | 'application/xml' | 'text/xml' | 'text/csv'

## Request body

- object
  - `name` string — The name of the NLU Connector.
  - `type` 'alexa' | 'dialogflow' | 'dialogflowBuiltIn' | 'amazonLexBuiltIn' | 'luis' | 'watson' | 'noNlu' | 'cognigy' | 'code' | 'generativeAI' | 'lex' — The NLU Connector type.
  - `settings` union
    - object — The settings used by the Alexa NLU Connector.
      - `invocationName` string — The invocation name of the Alexa skill. Necessary to start Alexa simulations.
      - `reparseAlexaSlots` boolean — If set to `true`, reparses slots from Alexa with the Keyphrase mapper.
      - `skill` object
        - `lastUpdated` string — When the skill was last updated.
        - `nameByLocale` object — The name of the skill for different locales.
          - `en-US` string
          - `de-DE` string
          - `ja-JP` string
          - `en-GB` string
          - `en-IN` string
        - `skillId` string — The unique ID of the skill.
        - `stage` string — The current stage of the skill life cycle, for example, development, production.
    - object — The settings used by the DialogFlow NLU Connector.
      - `dialogflowApiVersion` 1 | 2 — The version of the dialogflow API to use.
      - `dialogflowProjectId` string — The projectId of the Dialogflow Agent.
      - `accessToken` string — The access token used to authenticate requests. Used by DialogFlow.
      - `privateKey` string — The private key of a Google Service Account that has access rights to use the Dialogflow API.
    - object — The settings used by the LUIS NLU Connector.
      - `authenticationURL` string — The URL used to authenticate requests by LUIS.
    - object — The settings used by the Watson NLU Connector.
      - `apikey` string — The API key for accessing the Watson NLU API.
      - `workspaceid` string — The skill ID for accessing the Assistant skill.
      - `serviceURL` string — The URL used to authenticate requests by Watson.
    - object — The settings used by the Lex NLU Connector.
      - `accessKeyId` string — The API key for accessing the Lex NLU API.
      - `secretAccessKey` string — The secret access key for accessing the Lex NLU API.
      - `awsRegion` string — The AWS region the Lex bot is deployed to.
      - `botId` string — The ID of the Lex bot.
      - `botAliasId` string — The alias ID of the Lex bot.
  - `transformer` object
    - `abortOnError` boolean — If set to `true`, cancels message processing if the transformer throws an error. If set to `false`, processing continues. The default value is `false`.
    - `transformerStackEnabled` boolean — If set to `true`, writes the transformer data to the Input object in the Interaction Panel. The default value is `false`.
    - `transformer` string — The transformer's JavaScript source code. If the parameter is empty, a code template specific to the NLU Connector type is used.
    - `preNluTransformerEnabled` boolean — If set to `true`, runs the pre-NLU transformer when a message arrives. The transformer receives the incoming text and data, and can modify them before the NLU engine runs. Only relevant for external NLU. The default value is `false`.
    - `postNluTransformerEnabled` boolean — If set to `true`, runs the post-NLU transformer after the NLU engine has produced a result. The transformer receives the NLU engine result, text and data, and can modify them before the Flow is executed. The default value is `false`.
    - `nluCodeTransformerEnabled` boolean — If set to `true`, runs the code in the transformer editor in the NLU Connector settings on each message. Only relevant for Code and Cognigy NLU Connector types. The default value is `false`.
  - `projectId` string — The unique identifier for the Project.

## Response `201`

Returns NLUConnector metadata object.

- object — The IEntityMeta defines meta information every entity within the system has. These are dates when a resource was created and modified as well as information about the user who initially created a resource and who modified it the last time.
  - `name` string — The name of the NLU Connector.
  - `type` 'alexa' | 'dialogflow' | 'dialogflowBuiltIn' | 'amazonLexBuiltIn' | 'luis' | 'watson' | 'noNlu' | 'cognigy' | 'code' | 'generativeAI' | 'lex' — The NLU Connector type.
  - `settings` union
    - object — The settings used by the Alexa NLU Connector.
      - `invocationName` string — The invocation name of the Alexa skill. Necessary to start Alexa simulations.
      - `reparseAlexaSlots` boolean — If set to `true`, reparses slots from Alexa with the Keyphrase mapper.
      - `skill` object
        - `lastUpdated` string — When the skill was last updated.
        - `nameByLocale` object — The name of the skill for different locales.
          - `en-US` string
          - `de-DE` string
          - `ja-JP` string
          - `en-GB` string
          - `en-IN` string
        - `skillId` string — The unique ID of the skill.
        - `stage` string — The current stage of the skill life cycle, for example, development, production.
    - object — The settings used by the DialogFlow NLU Connector.
      - `dialogflowApiVersion` 1 | 2 — The version of the dialogflow API to use.
      - `dialogflowProjectId` string — The projectId of the Dialogflow Agent.
      - `accessToken` string — The access token used to authenticate requests. Used by DialogFlow.
      - `privateKey` string — The private key of a Google Service Account that has access rights to use the Dialogflow API.
    - object — The settings used by the LUIS NLU Connector.
      - `authenticationURL` string — The URL used to authenticate requests by LUIS.
    - object — The settings used by the Watson NLU Connector.
      - `apikey` string — The API key for accessing the Watson NLU API.
      - `workspaceid` string — The skill ID for accessing the Assistant skill.
      - `serviceURL` string — The URL used to authenticate requests by Watson.
    - object — The settings used by the Lex NLU Connector.
      - `accessKeyId` string — The API key for accessing the Lex NLU API.
      - `secretAccessKey` string — The secret access key for accessing the Lex NLU API.
      - `awsRegion` string — The AWS region the Lex bot is deployed to.
      - `botId` string — The ID of the Lex bot.
      - `botAliasId` string — The alias ID of the Lex bot.
  - `transformer` object
    - `abortOnError` boolean — If set to `true`, cancels message processing if the transformer throws an error. If set to `false`, processing continues. The default value is `false`.
    - `transformerStackEnabled` boolean — If set to `true`, writes the transformer data to the Input object in the Interaction Panel. The default value is `false`.
    - `transformer` string — The transformer's JavaScript source code. If the parameter is empty, a code template specific to the NLU Connector type is used.
    - `preNluTransformerEnabled` boolean — If set to `true`, runs the pre-NLU transformer when a message arrives. The transformer receives the incoming text and data, and can modify them before the NLU engine runs. Only relevant for external NLU. The default value is `false`.
    - `postNluTransformerEnabled` boolean — If set to `true`, runs the post-NLU transformer after the NLU engine has produced a result. The transformer receives the NLU engine result, text and data, and can modify them before the Flow is executed. The default value is `false`.
    - `nluCodeTransformerEnabled` boolean — If set to `true`, runs the code in the transformer editor in the NLU Connector settings on each message. Only relevant for Code and Cognigy NLU Connector types. The default value is `false`.
  - `referenceId` string, uuid
  - `_id` string
  - `createdAt` integer — Unix-timestamp
  - `lastChanged` integer — Unix-timestamp
  - `createdBy` string
  - `lastChangedBy` string

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing)
- `401` — The request has not been applied because it lacks valid authentication credentials for the target resource.
- `402` — Upgrade your Plan to increase your Quota.
- `403` — The server understood the request but refuses to authorize it.
- `404` — The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `405` — The method received in the request-line is known by the origin server but not supported by the target resource.
- `409` — The request conflicts with current state of the server.
- `413` — The request entity is larger than limits defined by server.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.
- `501` — The server does not support the functionality required to fulfill the request.
- `502` — The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.
- `503` — The server is not ready to handle the request.
- `504` — The server, while acting as a gateway or proxy, did not receive a timely response from an upstream server it needed to access in order to complete the request.

---

[API](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference.md) · [All operations](https://skmtc.net/cognigy/apis/simulator-openapi-rest-ful-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cognigy/simulator-openapi-rest-ful-api-reference/revisions/85b2872bdfb7/schema)
