code: public ServiceCall<Intent> createIntent(CreateIntentOptions createIntentOptions) {
      Validator.notNull(createIntentOptions, "createIntentOptions cannot be null");
      String[] pathSegments = { "v1/workspaces", "intents" };
      String[] pathParameters = { createIntentOptions.workspaceId() };
      RequestBuilder builder = RequestBuilder.post(RequestBuilder.constructHttpUrl(getEndPoint(), pathSegments,
          pathParameters));
      builder.query("version", versionDate);
      Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("conversation", "v1", "createIntent");
      for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
      }
      builder.header("Accept", "application/json");
      final JsonObject contentJson = new JsonObject();
      contentJson.addProperty("intent", createIntentOptions.intent());
      if (createIntentOptions.description() != null) {
        contentJson.addProperty("description", createIntentOptions.description());
      }
      if (createIntentOptions.examples() != null) {
        contentJson.add("examples", GsonSingleton.getGson().toJsonTree(createIntentOptions.examples()));
      }
      builder.bodyJson(contentJson);
      return createServiceCall(builder.build(), ResponseConverterUtils.getObject(Intent.class));
    }
docs: Create intent.
  
  Create a new intent.
  
  This operation is limited to 2000 requests per 30 minutes. For more information, see **Rate limiting**.
  
  @param createIntentOptions the {@link CreateIntentOptions} containing the options for the call
  @return a {@link ServiceCall} with a response type of {@link Intent}