---
title: "Add a connection to specified project"
method: POST
path: "/apiops/projects/{projectName}/connections/{connectionName}/"
tags: ["Connection"]
---

# Add a connection to specified project

`POST /apiops/projects/{projectName}/connections/{connectionName}/`

## Request

- Base URL: `http://167.86.118.166:32080`
- URL: `http://167.86.118.166:32080/apiops/projects/{projectName}/connections/{connectionName}/`
- Auth: none declared
- TypeScript: <https://skmtc.dev/apinizer/apis/apinizer-management-apis/docs/apiops/projects/:projectName/connections/:connectionName/post.ts> (a function with typed inputs; its response is checked against the schema)

Adds a connection to specified project. If a connection of the same type and name already exists it is updated instead (upsert). Secret fields (password, passphrases, API keys, certificate/keystore files): on an upsert a field that is ABSENT from the payload (null) keeps the stored value, a field sent EMPTY ("") clears it, and a non-empty value replaces it. Secrets are never returned by GET, so a GET→POST round-trip keeps them unchanged.

## Path parameters

- `projectName` string, required
- `connectionName` string, required

## Request body

- union: connection value to be added
  - ConnectionConfigApacheActiveMqDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `activeMqConnectionProtocolType` 'AMQP' | 'TCP'
    - `brokerURL` string
    - `username` string
    - `password` string
    - `destinationType` 'QUEUE' | 'TOPIC'
    - `destinationName` string
    - `sessionAcknowledgement` 'CLIENT_ACKNOWLEDGE' | 'SESSION_TRANSACTED' | 'AUTO_ACKNOWLEDGE' | 'DUPS_OK_ACKNOWLEDGE'
    - `sendTimeout` integer
    - `requestTimeout` integer
    - `closeTimeout` integer
    - `connectTimeout` integer
    - `contentType` string
    - `clientID` string
    - `contentEncoding` string
  - ConnectionConfigElasticsearchDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `administrate` boolean
    - `elasticHostList` ElasticHost[]
      - `scheme` string
      - `host` string
      - `port` integer
      - `status` string
      - `clusterName` string
      - `resolvedHost` string
    - `authenticate` boolean
    - `elasticUsername` string
    - `elasticPassword` string
    - `encryptCommunication` boolean
    - `encryptCommunicationType` 'CA_CERTIFICATE_IN_PKCS_12' | 'CA_IN_PEM_FILE' | 'CERT_AND_PRIVATE_KEY_IN_PKCS_12'
    - `caCertInPkcs12File` string, byte
    - `caCertInPkcs12FileContentType` string
    - `caInPemFile` string, byte
    - `caInPemFileContentType` string
    - `caTruststoreFile` string, byte
    - `caTruststoreFileContentType` string
    - `caTruststoreFilePass` string
    - `caKeystoreFile` string, byte
    - `caKeystoreFileContentType` string
    - `caKeystoreFilePass` string
    - `disableHostnameVerification` boolean
    - `indexLifecyclePolicyCreated` boolean
    - `indexLifecyclePolicy` ElasticsearchIndexLifecyclePolicy
      - `policyName` string
      - `enableHotPhase` boolean
      - `maxAgeOfRollover` integer
      - `maxIndexSizeOfRollover` integer
      - `maxDocCountOfRollover` integer
      - `enableWarmPhase` boolean
      - `numberOfReplicasForWarm` integer
      - `maxNumShardsForShrink` integer
      - `maxNumSegmentsForForceMerge` integer
      - `enableColdPhase` boolean
      - `minAgeOfCold` integer
      - `numberOfReplicasForCold` integer
      - `enableDeletePhase` boolean
      - `minAgeOfDelete` integer
    - `dataStreamCreated` boolean
    - `indexTemplateCreated` boolean
    - `lastStatusCheckFailed` boolean
    - `indexTemplateName` string
    - `indexName` string
    - `indexTemplateNumberOfShards` integer
    - `indexTemplateNumberOfReplicas` integer
    - `indexTemplateRefreshInterval` string
    - `indexTemplateLoadFixedBitsetFiltersEagerly` boolean
    - `connectionTimeoutInMs` integer
    - `responseTimeoutSeconds` integer
    - `elasticsearchMajorVersion` 'AUTO_DETECT' | 'ES_7' | 'ES_8' | 'ES_9' | 'UNKNOWN'
    - `bulkBufferCapacity` integer
    - `bulkFlushIntervalMs` integer
    - `bulkMaxBatchSize` integer
    - `elasticsearchType` 'READ_WRITE' | 'READ'
  - ConnectionConfigEmailDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `host` string
    - `port` integer
    - `enableStartTls` boolean
    - `auth` boolean
    - `username` string
    - `password` string
    - `defaultEncoding` string
    - `addressToTest` string
    - `from` string
    - `additionalProperties` EmailAdditionalProperty[]
      - `key` string
      - `value` string
      - `resolvedValue` string
      - `resolvedKey` string
    - `useSsl` boolean
    - `certificateId` string
    - `certificateName` string
    - `checkServerIdentity` boolean
  - ConnectionConfigFtpDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `host` string
    - `port` integer
    - `username` string
    - `password` string
    - `workingDir` string
    - `protocol` 'ftp' | 'sftp' | 'ftps'
    - `timeout` integer
    - `retryCount` integer
    - `useImplicit` boolean
    - `useExplicit` boolean
    - `sslProtocol` string
    - `verifyServerCertificate` boolean
  - ConnectionConfigGraylogDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `hostname` string
    - `port` integer
    - `transportType` 'TCP' | 'UDP'
    - `tlsEnabled` boolean
    - `tlsCertVerificationEnabled` boolean
    - `compressionType` 'GZIP' | 'ZLIB' | 'NONE'
    - `gelfMessageLevel` 'EMERGENCY(0)' | 'ALERT(1)' | 'CRITICAL(2)' | 'ERROR(3)' | 'WARNING(4)' | 'NOTICE(5)' | 'INFO(6)' | 'DEBUG(7)'
    - `queueSize` integer
    - `reconnectDelay` integer
    - `connectTimeout` integer
    - `tcpNoDelay` boolean
    - `tcpKeepAlive` boolean
    - `sendBufferSize` integer
    - `maxInflightSends` integer
    - `threads` integer
    - `tlsTrustCertChainFile` string, byte
    - `tlsTrustCertChainFileName` string
    - `appendToAttributes` boolean
    - `appendToMessage` boolean
  - ConnectionConfigKafkaDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `topicName` string
    - `propertiesMap` object
    - `enableSecure` boolean
    - `protocolTypes` string[]
    - `keyStoreId` string
    - `keyStoreName` string
    - `trustStoreId` string
    - `trustStoreName` string
  - ConnectionConfigLinuxScriptDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `hostName` string
    - `sshPort` integer
    - `username` string
    - `password` string
  - ConnectionConfigLogbackDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `logPath` string
    - `logFileName` string
    - `logPodName` string
    - `logFilenamePattern` string
    - `logPattern` string
    - `maxFileSize` integer
    - `maxHistory` integer
    - `totalSizeCap` integer
  - ConnectionConfigRabbitMqDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `hostPortList` ConfigRabbitMqHostPort[]
      - `host` string
      - `port` integer
      - `resolvedHost` string
    - `connectionFactoryVirtualHost` string
    - `authenticationEnabled` boolean
    - `connectionFactoryUsername` string
    - `connectionFactoryPassword` string
    - `connectionFactoryConnectionTimeout` integer
    - `connectionFactoryClientProperties` object
    - `connectionFactoryRequestedChannelMax` integer
    - `connectionFactoryRequestedFrameMax` integer
    - `connectionFactoryRequestedHeartbeat` integer
    - `connectionFactoryUseSslProtocol` boolean
    - `connectionFactorySslProtocol` string
    - `channelExchange` string
    - `channelRoutingKey` string
    - `basicPropertiesAppId` string
    - `basicPropertiesContentType` string
    - `basicPropertiesContentEncoding` string
    - `basicPropertiesDeliveryMode` integer
    - `basicPropertiesPriority` integer
    - `basicPropertiesReplyTo` string
    - `basicPropertiesExpiration` string
    - `basicPropertiesType` string
    - `basicPropertiesUserId` string
    - `basicPropertiesClusterId` string
  - ConnectionConfigSNMPDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `version` 'V1' | 'V2c' | 'V3'
    - `connectionString` string
    - `securityOrCommunityName` string
    - `retryCount` integer
    - `timeout` integer
    - `messageType` 'INFORM' | 'TRAP'
    - `securityLevel` 'NOAUTH_NOPRIV' | 'AUTH_NOPRIV' | 'AUTH_PRIV'
    - `privacyProtocolList` string[]
    - `enableUserAuthentication` boolean
    - `securityName` string
    - `usmUserAuthenticationProtocol` 'AuthMD5' | 'AuthSHA' | 'AuthHMAC128SHA224' | 'AuthHMAC192SHA256' | 'AuthHMAC256SHA384' | 'AuthHMAC384SHA512'
    - `authPassphrase` string
    - `usmUserPrivacyProtocol` 'PrivAES128' | 'PrivAES192' | 'PrivAES192with3DES' | 'PrivAES256' | 'PrivAES256with3DES' | 'PrivDES' | 'Priv3DES'
    - `privPassphrase` string
    - `pduOidForMessage` string
    - `pduOidForTime` string
    - `pduVariableMap` object
  - ConnectionConfigSyslogDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `syslogProtocolType` 'TCP' | 'UDP'
    - `syslogMessageHostname` string
    - `syslogServerHostname` string
    - `syslogPort` integer
    - `syslogTimeout` integer
    - `syslogMessageFormat` 'RFC_3164' | 'RFC_5424' | 'RFC_5425'
    - `syslogAppName` string
    - `syslogFacility` 'KERN' | 'USER' | 'MAIL' | 'DAEMON' | 'AUTH' | 'SYSLOG' | 'LPR' | 'NEWS' | 'UUCP' | 'CRON' | 'AUTHPRIV' | 'FTP' | 'NTP' | 'AUDIT' | 'ALERT' | 'CLOCK' | 'LOCAL0' | 'LOCAL1' | 'LOCAL2' | 'LOCAL3' | 'LOCAL4' | 'LOCAL5' | 'LOCAL6' | 'LOCAL7'
    - `syslogSeverity` 'EMERGENCY' | 'ALERT' | 'CRITICAL' | 'ERROR' | 'WARNING' | 'NOTICE' | 'INFORMATIONAL' | 'DEBUG'
    - `syslogSslEnabled` boolean
    - `syslogQueueCapacity` integer
    - `syslogWriteTimeoutSeconds` integer
    - `syslogFramingType` 'AUTO' | 'NON_TRANSPARENT' | 'OCTET_COUNTING'
    - `syslogConnectionCount` integer
    - `syslogBufferMemoryBytes` integer
    - `syslogOfferTimeoutMillis` integer
    - `syslogBatchFlushFrames` integer
    - `syslogMaxMessageBytes` integer: Maximum size, in bytes, of a single outgoing syslog message. Leave empty or set 0 to apply no size ceiling (default). A non-zero value must be at least 480 bytes (RFC 5426 section 3.2). Over UDP, values above 2048 bytes may be truncated or discarded by the receiving syslog server.
    - `keyStoreId` string
    - `keyStoreName` string
    - `trustStoreId` string
    - `trustStoreName` string
    - `syslogTlsHostnameVerification` boolean
    - `syslogStructuredDataEnabled` boolean
    - `syslogEnterpriseId` string
  - ConnectionConfigWebhookDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `httpMethod` 'GET' | 'POST' | 'PUT' | 'HEAD' | 'OPTIONS' | 'DELETE' | 'PATCH' | 'TRACE' | 'ALL' | 'QUERY'
    - `fullUrl` string
    - `headerList` ApinizerBasicHeader[]
      - `name` string
      - `value` string
      - `resolvedName` string
      - `resolvedValue` string
    - `timeout` integer
    - `connectionPoolMaxConnectionPerHost` integer
    - `connectionPoolMaxConnectionTotal` integer
    - `webhookTrustStoreId` string
    - `webhookTrustStoreName` string
    - `webhookKeyStoreId` string
    - `webhookKeyStoreName` string
    - `webhookVerifyHostname` boolean
    - `connectTimeoutSeconds` integer
    - `responseTimeoutSeconds` integer
    - `connectionRequestTimeoutSeconds` integer
    - `socketTimeoutSeconds` integer
    - `writeStallTimeoutSeconds` integer
    - `webhookBatchEnabled` boolean
    - `webhookBatchMaxEvents` integer
    - `webhookBatchMaxBytes` integer
    - `webhookBatchMaxDelayMillis` integer
    - `webhookProducerThrottleMillis` integer
    - `webhookBatchBufferMemoryBytes` integer
    - `webhookGzipEnabled` boolean
    - `webhookMaxRetryCount` integer
    - `webhookRetryBackoffMillis` integer
    - `webhookMaxRetryAfterSeconds` integer
    - `webhookRetryNonIdempotent` boolean
    - `webhookHecModeEnabled` boolean
    - `webhookHecIndex` string
    - `webhookHecSourcetype` string
    - `webhookHecSource` string
    - `webhookHecHost` string
    - `webhookHecUseAck` boolean
    - `webhookHecAckTimeoutSeconds` integer
    - `webhookHecMaxAckResend` integer
  - ConnectionPoolDefDbDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `dbType` 'ORACLE' | 'MYSQL' | 'POSTGRES' | 'SQL_SERVER' | 'SYBASE' | 'DB2' | 'APACHE_HIVE' | 'APACHE_IMPALA' | 'MONGODB' | 'TRINO'
    - `jdbcUrl` string
    - `useCredentials` boolean
    - `username` string
    - `databaseName` string
    - `password` string
    - `initialPoolSize` integer
    - `minPoolSize` integer
    - `maxPoolSize` integer
    - `incrementCount` integer
    - `maxStatements` integer
    - `idleConnectionTestPeriod` integer
    - `connectionTimeout` integer
    - `testConnectionOnCheckout` boolean
    - `testConnectionOnCheckin` boolean
    - `maxConnectionAge` integer
    - `maxIdleTime` integer
    - `defaultLogSchema` string
    - `logTableSchemaOverrides` object
    - `logTableNameOverrides` object
  - ConnectionPoolDefLdapDTO
    - `id` string
    - `name` string
    - `description` string
    - `enabled` boolean
    - `projectName` string
    - `circuitBreakerEnabled` boolean
    - `errorThresholdValue` integer
    - `sleepWindow` integer
    - `type` string, required
    - `serverAddress` string
    - `requireCertificateType` 'NOT_REQUIRED' | 'REQUIRED_CN' | 'REQUIRED_AN_PN'
    - `username` string
    - `password` string
    - `customFilter` string
    - `searchScope` 'OBJECT' | 'ONE_LEVEL' | 'SUBTREE'
    - `baseDn` string
    - `certificateId` string
    - `certificateName` string
    - `useSsl` boolean
    - `useTls` boolean
    - `connectionTimeout` integer
    - `directoryVendor` 'ACTIVE_DIRECTORY' | 'OPENLDAP' | 'DS389_FREEIPA' | 'GENERIC'

## Response `200`

successful operation!

- ApiOpsResponseSuccess
  - `status` 'SUCCESS' | 'FAILURE'
  - `resultMessage` string
  - `resultList` string[]
  - `resultCount` integer
  - `deploymentResult` DeploymentResult
    - `envName` string
    - `podName` string
    - `podIp` string
    - `success` boolean
    - `detail` string
    - `responseTime` integer
    - `detailList` unknown[]
      - unknown
    - `firstFromApiResultList` unknown
  - `unresolvedReferences` string[]
  - `advisories` ApiOpsAdvisoryDTO[]
    - `level` string
    - `key` string
    - `params` object

## Other responses

- `401`: not authorized for this operation!
- `500`: internal error!

## Changes

- **2026-10-28** `e083046b24cd`: 1 info
  - added the new optional request property `oneOf[#/components/schemas/ConnectionConfigElasticsearchDTO]/allOf[subschema #2]/responseTimeoutSeconds`
- **2026-10-20** `d1a546deccf0`: 20 breaking
  - the `oneOf[#/components/schemas/ConnectionConfigApacheActiveMqDTO]/` request property type changed from `object` to no type
  - the `oneOf[#/components/schemas/ConnectionConfigElasticsearchDTO]/` request property type changed from `object` to no type
  - the `oneOf[#/components/schemas/ConnectionConfigElasticsearchDTO]/allOf[subschema #2]/caCertInPkcs12File` request property type changed from `array` to `string`, and format from no format to `byte`
  - the `oneOf[#/components/schemas/ConnectionConfigElasticsearchDTO]/allOf[subschema #2]/caInPemFile` request property type changed from `array` to `string`, and format from no format to `byte`
  - …16 more
  - …this revision’s changelog is incomplete

[Operation history](https://skmtc.dev/apinizer/apis/apinizer-management-apis/changes/apiops/projects/:projectName/connections/:connectionName/post.md)

---

[API](https://skmtc.dev/apinizer/apis/apinizer-management-apis.md) - [All operations](https://skmtc.dev/apinizer/apis/apinizer-management-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/apinizer/apis/apinizer-management-apis/revisions/e083046b24cd?raw)
