# LitmusEdge 4.0.x API Documentation/Integration/Provider Schemas - Reference - LE, LEM, LUNS API Docs

## Provider Schema - AMQP SSL

**POST** `{{edgeUrl}}/cc/v2`

## AMQP SSL — Provider Schema

**Provider ID:** `amqp-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `password` | string | Password | No | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `username` | string | Username | No | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `privateKey` | string | Private key | No | `` | - |
| `routingKey` | string | Routing key | Yes | - | - |
| `virtualHost` | string | Virtual host | No | - | - |
| `certificate` | string | Certificate | No | `` | - |
| `exchangeInternal` | boolean | Exchange internal | No | `False` | - |
| `exchangeNoWait` | boolean | Exchange no wait | No | `False` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `caCert` | string | CA Certificate | Yes | `` | - |
| `exchangeAutoDelete` | boolean | Exchange auto delete | No | `False` | - |
| `exchangeDurable` | boolean | Exchange durable | No | `True` | - |
| `exchangeType` | string | exchangeType | No | `direct` | `direct`, `fanout`, `topic`, `x-custom` |
| `iso8601Timestamp` | boolean | ISO8601 timestamp | No | `False` | - |
| `name` | string | Name | Yes | - | - |
| `port` | integer | Port | Yes | `5671` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `exchange` | string | Exchange | No | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "amqp-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/amqp-ssl.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "amqp.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "amqp.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "amqp.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "amqp.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "amqp.hostname.label",
                        "ToolTip": "Hostname",
                        "ToolTipCode": "amqp.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "amqp.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "amqp.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "routingKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Routing key",
                        "LabelCode": "amqp.routingKey.label",
                        "ToolTip": "Routing key",
                        "ToolTipCode": "amqp.routingKey.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "virtualHost",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Virtual host",
                        "LabelCode": "amqp.virtualHost.label",
                        "ToolTip": "Virtual hostname",
                        "ToolTipCode": "amqp.virtualHost.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "amqp.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "amqp.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeInternal",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange internal",
                        "LabelCode": "amqp.exchangeInternal.label",
                        "ToolTip": "Exchange internal",
                        "ToolTipCode": "amqp.exchangeInternal.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeNoWait",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange no wait",
                        "LabelCode": "amqp.exchangeNoWait.label",
                        "ToolTip": "Exchange no wait",
                        "ToolTipCode": "amqp.exchangeNoWait.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "amqp.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "amqp.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeAutoDelete",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange auto delete",
                        "LabelCode": "amqp.exchangeAutoDelete.label",
                        "ToolTip": "Exchange auto delete",
                        "ToolTipCode": "amqp.exchangeAutoDelete.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeDurable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange durable",
                        "LabelCode": "amqp.exchangeDurable.label",
                        "ToolTip": "Exchange durable",
                        "ToolTipCode": "amqp.exchangeDurable.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "direct",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "direct",
                            "fanout",
                            "topic",
                            "x-custom"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "exchangeType",
                        "LabelCode": "amqp.exchangeType.label",
                        "ToolTip": "Exchange type",
                        "ToolTipCode": "amqp.exchangeType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "iso8601Timestamp",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "ISO8601 timestamp",
                        "LabelCode": "amqp.iso8601Timestamp.label",
                        "ToolTip": "Convert timestamp to ISO8601",
                        "ToolTipCode": "amqp.iso8601Timestamp.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "amqp.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "amqp.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5671,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "amqp.port.label",
                        "ToolTip": "Port number",
                        "ToolTipCode": "amqp.port.tooltip",
                        "Example": "5672",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchange",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange",
                        "LabelCode": "amqp.exchange.label",
                        "ToolTip": "Exchange",
                        "ToolTipCode": "amqp.exchange.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "routingKey",
                        "caCert"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "virtualHost",
                        "username",
                        "password",
                        "exchange",
                        "exchangeType",
                        "exchangeDurable",
                        "exchangeAutoDelete",
                        "exchangeInternal",
                        "exchangeNoWait",
                        "routingKey",
                        "iso8601Timestamp",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - AMQP TCP

**POST** `{{edgeUrl}}/cc/v2`

## AMQP TCP — Provider Schema

**Provider ID:** `amqp-tcp`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `exchange` | string | Exchange | No | - | - |
| `exchangeAutoDelete` | boolean | Exchange auto delete | No | `False` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `virtualHost` | string | Virtual host | No | - | - |
| `exchangeNoWait` | boolean | Exchange no wait | No | `False` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `password` | string | Password | No | - | - |
| `port` | integer | Port | Yes | `5672` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `routingKey` | string | Routing key | Yes | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `exchangeDurable` | boolean | Exchange durable | No | `True` | - |
| `exchangeInternal` | boolean | Exchange internal | No | `False` | - |
| `exchangeType` | string | exchangeType | No | `direct` | `direct`, `fanout`, `topic`, `x-custom` |
| `iso8601Timestamp` | boolean | ISO8601 timestamp | No | `False` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | No | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "amqp-tcp"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/amqp-ssl.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "exchange",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange",
                        "LabelCode": "amqp.exchange.label",
                        "ToolTip": "Exchange",
                        "ToolTipCode": "amqp.exchange.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeAutoDelete",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange auto delete",
                        "LabelCode": "amqp.exchangeAutoDelete.label",
                        "ToolTip": "Exchange auto delete",
                        "ToolTipCode": "amqp.exchangeAutoDelete.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "virtualHost",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Virtual host",
                        "LabelCode": "amqp.virtualHost.label",
                        "ToolTip": "Virtual hostname",
                        "ToolTipCode": "amqp.virtualHost.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeNoWait",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange no wait",
                        "LabelCode": "amqp.exchangeNoWait.label",
                        "ToolTip": "Exchange no wait",
                        "ToolTipCode": "amqp.exchangeNoWait.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "amqp.hostname.label",
                        "ToolTip": "Hostname",
                        "ToolTipCode": "amqp.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "amqp.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "amqp.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "amqp.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "amqp.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5672,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "amqp.port.label",
                        "ToolTip": "Port number",
                        "ToolTipCode": "amqp.port.tooltip",
                        "Example": "5672",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "routingKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Routing key",
                        "LabelCode": "amqp.routingKey.label",
                        "ToolTip": "Routing key",
                        "ToolTipCode": "amqp.routingKey.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeDurable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange durable",
                        "LabelCode": "amqp.exchangeDurable.label",
                        "ToolTip": "Exchange durable",
                        "ToolTipCode": "amqp.exchangeDurable.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeInternal",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Exchange internal",
                        "LabelCode": "amqp.exchangeInternal.label",
                        "ToolTip": "Exchange internal",
                        "ToolTipCode": "amqp.exchangeInternal.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "exchangeType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "direct",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "direct",
                            "fanout",
                            "topic",
                            "x-custom"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "exchangeType",
                        "LabelCode": "amqp.exchangeType.label",
                        "ToolTip": "Exchange type",
                        "ToolTipCode": "amqp.exchangeType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "iso8601Timestamp",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "ISO8601 timestamp",
                        "LabelCode": "amqp.iso8601Timestamp.label",
                        "ToolTip": "Convert timestamp to ISO8601",
                        "ToolTipCode": "amqp.iso8601Timestamp.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "amqp.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "amqp.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "routingKey"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "virtualHost",
                        "username",
                        "password",
                        "exchange",
                        "exchangeType",
                        "exchangeDurable",
                        "exchangeAutoDelete",
                        "exchangeInternal",
                        "exchangeNoWait",
                        "routingKey",
                        "iso8601Timestamp",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - Aveva Data Hub

**POST** `{{edgeUrl}}/cc/v2`

## Aveva Data Hub — Provider Schema

**Provider ID:** `aveva-datahub`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `clientId` | string | Client Id | Yes | - | - |
| `clientSecret` | string | Client Secret | Yes | - | - |
| `endpoint` | string | Endpoint | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `stream` | string | Stream Id | Yes | - | - |
| `tenantId` | string | Tenant Id | Yes | - | - |
| `description` | string | Description | No | - | - |
| `namespace` | string | Namespace | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "aveva-datahub"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/avevadatahub.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client Id",
                        "LabelCode": "avevadatahub.clientId.label",
                        "ToolTip": "Client Id",
                        "ToolTipCode": "avevadatahub.clientId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientSecret",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client Secret",
                        "LabelCode": "avevadatahub.clientSecret.label",
                        "ToolTip": "Client Secret",
                        "ToolTipCode": "avevadatahub.clientSecret.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "endpoint",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Endpoint",
                        "LabelCode": "avevadatahub.endpoint.label",
                        "ToolTip": "Endpoint",
                        "ToolTipCode": "avevadatahub.endpoint.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "avevadatahub.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "avevadatahub.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "stream",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Stream Id",
                        "LabelCode": "avevadatahub.stream.label",
                        "ToolTip": "Stream Id",
                        "ToolTipCode": "avevadatahub.stream.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tenantId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Tenant Id",
                        "LabelCode": "avevadatahub.tenantId.label",
                        "ToolTip": "Tenant Id",
                        "ToolTipCode": "avevadatahub.tenantId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "description",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Description",
                        "LabelCode": "avevadatahub.description.label",
                        "ToolTip": "Instance Description",
                        "ToolTipCode": "avevadatahub.description.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "namespace",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Namespace",
                        "LabelCode": "avevadatahub.namespace.label",
                        "ToolTip": "Namespace",
                        "ToolTipCode": "avevadatahub.namespace.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "endpoint",
                        "clientId",
                        "clientSecret",
                        "tenantId",
                        "stream",
                        "namespace"
                    ],
                    "Order": [
                        "name",
                        "description",
                        "endpoint",
                        "clientId",
                        "clientSecret",
                        "tenantId",
                        "stream",
                        "namespace",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - OSI PI Historian

**POST** `{{edgeUrl}}/cc/v2`

## OSI PI Historian — Provider Schema

**Provider ID:** `osi-pi-web`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `maxSubscriptionEvents` | integer | Max Subscription Events | Yes | `100` | - |
| `name` | string | Name | Yes | - | - |
| `tagTypeFormat` | string | Point Datatype Format | Yes | `TimeIndexed.$T.$S` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `checkTags` | boolean | Check Tags | No | `True` | - |
| `dataSourceType` | string | Data Source Type | No | `DH` | - |
| `dataSourceVersion` | string | Data Source Version | No | `1` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `publishDelayThreshold` | integer | Publish Delay Threshold (ms) | Yes | `1000` | - |
| `compression` | boolean | Gzip Compression | No | `True` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `requestTimeout` | integer | Request Timeout (ms) | Yes | `1000` | - |
| `subscribeInterval` | integer | Subscribe Interval (s) | Yes | `1` | - |
| `endpoint` | string | Endpoint | Yes | - | - |
| `password` | string | Password | Yes | - | - |
| `piServer` | string | PI Data Server Name | No | - | - |
| `publishCountThreshold` | integer | Publish Count Threshold | Yes | `50` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `tagDescriptionFormat` | string | Point Description Format | No | `$P` | - |
| `timezone` | string | Data Timezone | No | `UTC` | `UTC`, `Africa/Abidjan`, `Africa/Accra`, `Africa/Addis_Ababa`, `Africa/Algiers`, `Africa/Asmara`, `Africa/Bamako`, `Africa/Bangui`, `Africa/Banjul`, `Africa/Bissau`, `Africa/Blantyre`, `Africa/Brazzaville`, `Africa/Bujumbura`, `Africa/Cairo`, `Africa/Casablanca`, `Africa/Ceuta`, `Africa/Conakry`, `Africa/Dakar`, `Africa/Dar_es_Salaam`, `Africa/Djibouti`, `Africa/Douala`, `Africa/El_Aaiun`, `Africa/Freetown`, `Africa/Gaborone`, `Africa/Harare`, `Africa/Johannesburg`, `Africa/Juba`, `Africa/Kampala`, `Africa/Khartoum`, `Africa/Kigali`, `Africa/Kinshasa`, `Africa/Lagos`, `Africa/Libreville`, `Africa/Lome`, `Africa/Luanda`, `Africa/Lubumbashi`, `Africa/Lusaka`, `Africa/Malabo`, `Africa/Maputo`, `Africa/Maseru`, `Africa/Mbabane`, `Africa/Mogadishu`, `Africa/Monrovia`, `Africa/Nairobi`, `Africa/Ndjamena`, `Africa/Niamey`, `Africa/Nouakchott`, `Africa/Ouagadougou`, `Africa/Porto-Novo`, `Africa/Sao_Tome`, `Africa/Tripoli`, `Africa/Tunis`, `Africa/Windhoek`, `America/Adak`, `America/Anchorage`, `America/Anguilla`, `America/Antigua`, `America/Araguaina`, `America/Argentina/Buenos_Aires`, `America/Argentina/Catamarca`, `America/Argentina/Cordoba`, `America/Argentina/Jujuy`, `America/Argentina/La_Rioja`, `America/Argentina/Mendoza`, `America/Argentina/Rio_Gallegos`, `America/Argentina/Salta`, `America/Argentina/San_Juan`, `America/Argentina/San_Luis`, `America/Argentina/Tucuman`, `America/Argentina/Ushuaia`, `America/Aruba`, `America/Asuncion`, `America/Atikokan`, `America/Bahia`, `America/Bahia_Banderas`, `America/Barbados`, `America/Belem`, `America/Belize`, `America/Blanc-Sablon`, `America/Boa_Vista`, `America/Bogota`, `America/Boise`, `America/Cambridge_Bay`, `America/Campo_Grande`, `America/Cancun`, `America/Caracas`, `America/Cayenne`, `America/Cayman`, `America/Chicago`, `America/Chihuahua`, `America/Ciudad_Juarez`, `America/Costa_Rica`, `America/Creston`, `America/Cuiaba`, `America/Curacao`, `America/Danmarkshavn`, `America/Dawson`, `America/Dawson_Creek`, `America/Denver`, `America/Detroit`, `America/Dominica`, `America/Edmonton`, `America/Eirunepe`, `America/El_Salvador`, `America/Fort_Nelson`, `America/Fortaleza`, `America/Glace_Bay`, `America/Goose_Bay`, `America/Grand_Turk`, `America/Grenada`, `America/Guadeloupe`, `America/Guatemala`, `America/Guayaquil`, `America/Guyana`, `America/Halifax`, `America/Havana`, `America/Hermosillo`, `America/Indiana/Indianapolis`, `America/Indiana/Knox`, `America/Indiana/Marengo`, `America/Indiana/Petersburg`, `America/Indiana/Tell_City`, `America/Indiana/Vevay`, `America/Indiana/Vincennes`, `America/Indiana/Winamac`, `America/Inuvik`, `America/Iqaluit`, `America/Jamaica`, `America/Juneau`, `America/Kentucky/Louisville`, `America/Kentucky/Monticello`, `America/Kralendijk`, `America/La_Paz`, `America/Lima`, `America/Los_Angeles`, `America/Lower_Princes`, `America/Maceio`, `America/Managua`, `America/Manaus`, `America/Marigot`, `America/Martinique`, `America/Matamoros`, `America/Mazatlan`, `America/Menominee`, `America/Merida`, `America/Metlakatla`, `America/Mexico_City`, `America/Miquelon`, `America/Moncton`, `America/Monterrey`, `America/Montevideo`, `America/Montserrat`, `America/Nassau`, `America/New_York`, `America/Nome`, `America/Noronha`, `America/North_Dakota/Beulah`, `America/North_Dakota/Center`, `America/North_Dakota/New_Salem`, `America/Nuuk`, `America/Ojinaga`, `America/Panama`, `America/Paramaribo`, `America/Phoenix`, `America/Port-au-Prince`, `America/Port_of_Spain`, `America/Porto_Velho`, `America/Puerto_Rico`, `America/Punta_Arenas`, `America/Rankin_Inlet`, `America/Recife`, `America/Regina`, `America/Resolute`, `America/Rio_Branco`, `America/Santarem`, `America/Santiago`, `America/Santo_Domingo`, `America/Sao_Paulo`, `America/Scoresbysund`, `America/Sitka`, `America/St_Barthelemy`, `America/St_Johns`, `America/St_Kitts`, `America/St_Lucia`, `America/St_Thomas`, `America/St_Vincent`, `America/Swift_Current`, `America/Tegucigalpa`, `America/Thule`, `America/Tijuana`, `America/Toronto`, `America/Tortola`, `America/Vancouver`, `America/Whitehorse`, `America/Winnipeg`, `America/Yakutat`, `Antarctica/Casey`, `Antarctica/Davis`, `Antarctica/DumontDUrville`, `Antarctica/Macquarie`, `Antarctica/Mawson`, `Antarctica/McMurdo`, `Antarctica/Palmer`, `Antarctica/Rothera`, `Antarctica/Syowa`, `Antarctica/Troll`, `Antarctica/Vostok`, `Arctic/Longyearbyen`, `Asia/Aden`, `Asia/Almaty`, `Asia/Amman`, `Asia/Anadyr`, `Asia/Aqtau`, `Asia/Aqtobe`, `Asia/Ashgabat`, `Asia/Atyrau`, `Asia/Baghdad`, `Asia/Bahrain`, `Asia/Baku`, `Asia/Bangkok`, `Asia/Barnaul`, `Asia/Beirut`, `Asia/Bishkek`, `Asia/Brunei`, `Asia/Chita`, `Asia/Choibalsan`, `Asia/Colombo`, `Asia/Damascus`, `Asia/Dhaka`, `Asia/Dili`, `Asia/Dubai`, `Asia/Dushanbe`, `Asia/Famagusta`, `Asia/Gaza`, `Asia/Hebron`, `Asia/Ho_Chi_Minh`, `Asia/Hong_Kong`, `Asia/Hovd`, `Asia/Irkutsk`, `Asia/Jakarta`, `Asia/Jayapura`, `Asia/Jerusalem`, `Asia/Kabul`, `Asia/Kamchatka`, `Asia/Karachi`, `Asia/Kathmandu`, `Asia/Khandyga`, `Asia/Kolkata`, `Asia/Krasnoyarsk`, `Asia/Kuala_Lumpur`, `Asia/Kuching`, `Asia/Kuwait`, `Asia/Macau`, `Asia/Magadan`, `Asia/Makassar`, `Asia/Manila`, `Asia/Muscat`, `Asia/Nicosia`, `Asia/Novokuznetsk`, `Asia/Novosibirsk`, `Asia/Omsk`, `Asia/Oral`, `Asia/Phnom_Penh`, `Asia/Pontianak`, `Asia/Pyongyang`, `Asia/Qatar`, `Asia/Qostanay`, `Asia/Qyzylorda`, `Asia/Riyadh`, `Asia/Sakhalin`, `Asia/Samarkand`, `Asia/Seoul`, `Asia/Shanghai`, `Asia/Singapore`, `Asia/Srednekolymsk`, `Asia/Taipei`, `Asia/Tashkent`, `Asia/Tbilisi`, `Asia/Tehran`, `Asia/Thimphu`, `Asia/Tokyo`, `Asia/Tomsk`, `Asia/Ulaanbaatar`, `Asia/Urumqi`, `Asia/Ust-Nera`, `Asia/Vientiane`, `Asia/Vladivostok`, `Asia/Yakutsk`, `Asia/Yangon`, `Asia/Yekaterinburg`, `Asia/Yerevan`, `Atlantic/Azores`, `Atlantic/Bermuda`, `Atlantic/Canary`, `Atlantic/Cape_Verde`, `Atlantic/Faroe`, `Atlantic/Madeira`, `Atlantic/Reykjavik`, `Atlantic/South_Georgia`, `Atlantic/St_Helena`, `Atlantic/Stanley`, `Australia/Adelaide`, `Australia/Brisbane`, `Australia/Broken_Hill`, `Australia/Darwin`, `Australia/Eucla`, `Australia/Hobart`, `Australia/Lindeman`, `Australia/Lord_Howe`, `Australia/Melbourne`, `Australia/Perth`, `Australia/Sydney`, `Europe/Amsterdam`, `Europe/Andorra`, `Europe/Astrakhan`, `Europe/Athens`, `Europe/Belgrade`, `Europe/Berlin`, `Europe/Bratislava`, `Europe/Brussels`, `Europe/Bucharest`, `Europe/Budapest`, `Europe/Busingen`, `Europe/Chisinau`, `Europe/Copenhagen`, `Europe/Dublin`, `Europe/Gibraltar`, `Europe/Guernsey`, `Europe/Helsinki`, `Europe/Isle_of_Man`, `Europe/Istanbul`, `Europe/Jersey`, `Europe/Kaliningrad`, `Europe/Kirov`, `Europe/Kyiv`, `Europe/Lisbon`, `Europe/Ljubljana`, `Europe/London`, `Europe/Luxembourg`, `Europe/Madrid`, `Europe/Malta`, `Europe/Mariehamn`, `Europe/Minsk`, `Europe/Monaco`, `Europe/Moscow`, `Europe/Oslo`, `Europe/Paris`, `Europe/Podgorica`, `Europe/Prague`, `Europe/Riga`, `Europe/Rome`, `Europe/Samara`, `Europe/San_Marino`, `Europe/Sarajevo`, `Europe/Saratov`, `Europe/Simferopol`, `Europe/Skopje`, `Europe/Sofia`, `Europe/Stockholm`, `Europe/Tallinn`, `Europe/Tirane`, `Europe/Ulyanovsk`, `Europe/Vaduz`, `Europe/Vatican`, `Europe/Vienna`, `Europe/Vilnius`, `Europe/Volgograd`, `Europe/Warsaw`, `Europe/Zagreb`, `Europe/Zurich`, `Indian/Antananarivo`, `Indian/Chagos`, `Indian/Christmas`, `Indian/Cocos`, `Indian/Comoro`, `Indian/Kerguelen`, `Indian/Mahe`, `Indian/Maldives`, `Indian/Mauritius`, `Indian/Mayotte`, `Indian/Reunion`, `Pacific/Apia`, `Pacific/Auckland`, `Pacific/Bougainville`, `Pacific/Chatham`, `Pacific/Chuuk`, `Pacific/Easter`, `Pacific/Efate`, `Pacific/Fakaofo`, `Pacific/Fiji`, `Pacific/Funafuti`, `Pacific/Galapagos`, `Pacific/Gambier`, `Pacific/Guadalcanal`, `Pacific/Guam`, `Pacific/Honolulu`, `Pacific/Kanton`, `Pacific/Kiritimati`, `Pacific/Kosrae`, `Pacific/Kwajalein`, `Pacific/Majuro`, `Pacific/Marquesas`, `Pacific/Midway`, `Pacific/Nauru`, `Pacific/Niue`, `Pacific/Norfolk`, `Pacific/Noumea`, `Pacific/Pago_Pago`, `Pacific/Palau`, `Pacific/Pitcairn`, `Pacific/Pohnpei`, `Pacific/Port_Moresby`, `Pacific/Rarotonga`, `Pacific/Saipan`, `Pacific/Tahiti`, `Pacific/Tarawa`, `Pacific/Tongatapu`, `Pacific/Wake`, `Pacific/Wallis` |
| `username` | string | Username | Yes | - | - |
| `description` | string | Description | No | - | - |
| `insecureSkipVerify` | boolean | Insecure Skip Verify | No | `False` | - |
| `tagNameFormat` | string | Point Name Format | Yes | `$S$V.$D.$N` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "osi-pi-web"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/osipiweb.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "maxSubscriptionEvents",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 1000000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max Subscription Events",
                        "LabelCode": "osipiweb.maxSubscriptionEvents.label",
                        "ToolTip": "The maximum number of events processed per subscription poll (prioritised by most recent)",
                        "ToolTipCode": "osipiweb.maxSubscriptionEvents.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "osipiweb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "osipiweb.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tagTypeFormat",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "TimeIndexed.$T.$S",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Point Datatype Format",
                        "LabelCode": "osipiweb.tagTypeFormat.label",
                        "ToolTip": "Formatting directives for PI point datatype (AF type name)",
                        "ToolTipCode": "osipiweb.tagTypeFormat.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 256,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "osipiweb.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "osipiweb.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "checkTags",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Check Tags",
                        "LabelCode": "osipiweb.checkTags.label",
                        "ToolTip": "Check if point name exists before attempting to create new when writing",
                        "ToolTipCode": "osipiweb.checkTags.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "dataSourceType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "DH",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Data Source Type",
                        "LabelCode": "osipiweb.dataSourceType.label",
                        "ToolTip": "Optional root name of datasource for PI points",
                        "ToolTipCode": "osipiweb.dataSourceType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": true,
                        "MinLength": null,
                        "MaxLength": 64,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "dataSourceVersion",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "1",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Data Source Version",
                        "LabelCode": "osipiweb.dataSourceVersion.label",
                        "ToolTip": "Optional version suffix for root datasource, requires non-empty DataSourceType",
                        "ToolTipCode": "osipiweb.dataSourceVersion.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": true,
                        "MinLength": null,
                        "MaxLength": 16,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "afServer",
                    "Value": {
                        "Type": "string",
                        "Hidden": true,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "AssetFramework Server Name",
                        "LabelCode": "osipiweb.afServer.label",
                        "ToolTip": "Name of Asset Framework server",
                        "ToolTipCode": "osipiweb.afServer.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "publishDelayThreshold",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 0,
                        "Maximum": 600000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Publish Delay Threshold (ms)",
                        "LabelCode": "osipiweb.delayThreshold.label",
                        "ToolTip": "Publish delay threshold in milliseconds (0 disables batching)",
                        "ToolTipCode": "osipiweb.delayThreshold.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "compression",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Gzip Compression",
                        "LabelCode": "osipiweb.compression.label",
                        "ToolTip": "Enable gzip compression for OMF requests",
                        "ToolTipCode": "osipiweb.compression.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 30000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request Timeout (ms)",
                        "LabelCode": "osipiweb.requestTimeout.label",
                        "ToolTip": "HTTP Request Timeout in milliseconds",
                        "ToolTipCode": "osipiweb.requestTimeout.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "subscribeInterval",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 3600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Subscribe Interval (s)",
                        "LabelCode": "osipiweb.subscribeInterval.label",
                        "ToolTip": "The subscription polling interval in seconds",
                        "ToolTipCode": "osipiweb.subscribeInterval.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "endpoint",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Endpoint",
                        "LabelCode": "osipiweb.endpoint.label",
                        "ToolTip": "Resource Endpoint",
                        "ToolTipCode": "osipiweb.endpoint.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "osipiweb.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "osipiweb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "piServer",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "PI Data Server Name",
                        "LabelCode": "osipiweb.piServer.label",
                        "ToolTip": "Optional name of PI Data Archive server",
                        "ToolTipCode": "osipiweb.piServer.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "publishCountThreshold",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 50,
                        "Minimum": 1,
                        "Maximum": 1000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Publish Count Threshold",
                        "LabelCode": "osipiweb.countThreshold.label",
                        "ToolTip": "Publish count threshold (1 disables batching)",
                        "ToolTipCode": "osipiweb.countThreshold.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tagDescriptionFormat",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "$P",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Point Description Format",
                        "LabelCode": "osipiweb.tagDescriptionFormat.label",
                        "ToolTip": "Optional formatting directives for PI point description",
                        "ToolTipCode": "osipiweb.tagDescriptionFormat.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": true,
                        "MinLength": null,
                        "MaxLength": 256,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "timezone",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "UTC",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "UTC",
                            "Africa/Abidjan",
                            "Africa/Accra",
                            "Africa/Addis_Ababa",
                            "Africa/Algiers",
                            "Africa/Asmara",
                            "Africa/Bamako",
                            "Africa/Bangui",
                            "Africa/Banjul",
                            "Africa/Bissau",
                            "Africa/Blantyre",
                            "Africa/Brazzaville",
                            "Africa/Bujumbura",
                            "Africa/Cairo",
                            "Africa/Casablanca",
                            "Africa/Ceuta",
                            "Africa/Conakry",
                            "Africa/Dakar",
                            "Africa/Dar_es_Salaam",
                            "Africa/Djibouti",
                            "Africa/Douala",
                            "Africa/El_Aaiun",
                            "Africa/Freetown",
                            "Africa/Gaborone",
                            "Africa/Harare",
                            "Africa/Johannesburg",
                            "Africa/Juba",
                            "Africa/Kampala",
                            "Africa/Khartoum",
                            "Africa/Kigali",
                            "Africa/Kinshasa",
                            "Africa/Lagos",
                            "Africa/Libreville",
                            "Africa/Lome",
                            "Africa/Luanda",
                            "Africa/Lubumbashi",
                            "Africa/Lusaka",
                            "Africa/Malabo",
                            "Africa/Maputo",
                            "Africa/Maseru",
                            "Africa/Mbabane",
                            "Africa/Mogadishu",
                            "Africa/Monrovia",
                            "Africa/Nairobi",
                            "Africa/Ndjamena",
                            "Africa/Niamey",
                            "Africa/Nouakchott",
                            "Africa/Ouagadougou",
                            "Africa/Porto-Novo",
                            "Africa/Sao_Tome",
                            "Africa/Tripoli",
                            "Africa/Tunis",
                            "Africa/Windhoek",
                            "America/Adak",
                            "America/Anchorage",
                            "America/Anguilla",
                            "America/Antigua",
                            "America/Araguaina",
                            "America/Argentina/Buenos_Aires",
                            "America/Argentina/Catamarca",
                            "America/Argentina/Cordoba",
                            "America/Argentina/Jujuy",
                            "America/Argentina/La_Rioja",
                            "America/Argentina/Mendoza",
                            "America/Argentina/Rio_Gallegos",
                            "America/Argentina/Salta",
                            "America/Argentina/San_Juan",
                            "America/Argentina/San_Luis",
                            "America/Argentina/Tucuman",
                            "America/Argentina/Ushuaia",
                            "America/Aruba",
                            "America/Asuncion",
                            "America/Atikokan",
                            "America/Bahia",
                            "America/Bahia_Banderas",
                            "America/Barbados",
                            "America/Belem",
                            "America/Belize",
                            "America/Blanc-Sablon",
                            "America/Boa_Vista",
                            "America/Bogota",
                            "America/Boise",
                            "America/Cambridge_Bay",
                            "America/Campo_Grande",
                            "America/Cancun",
                            "America/Caracas",
                            "America/Cayenne",
                            "America/Cayman",
                            "America/Chicago",
                            "America/Chihuahua",
                            "America/Ciudad_Juarez",
                            "America/Costa_Rica",
                            "America/Creston",
                            "America/Cuiaba",
                            "America/Curacao",
                            "America/Danmarkshavn",
                            "America/Dawson",
                            "America/Dawson_Creek",
                            "America/Denver",
                            "America/Detroit",
                            "America/Dominica",
                            "America/Edmonton",
                            "America/Eirunepe",
                            "America/El_Salvador",
                            "America/Fort_Nelson",
                            "America/Fortaleza",
                            "America/Glace_Bay",
                            "America/Goose_Bay",
                            "America/Grand_Turk",
                            "America/Grenada",
                            "America/Guadeloupe",
                            "America/Guatemala",
                            "America/Guayaquil",
                            "America/Guyana",
                            "America/Halifax",
                            "America/Havana",
                            "America/Hermosillo",
                            "America/Indiana/Indianapolis",
                            "America/Indiana/Knox",
                            "America/Indiana/Marengo",
                            "America/Indiana/Petersburg",
                            "America/Indiana/Tell_City",
                            "America/Indiana/Vevay",
                            "America/Indiana/Vincennes",
                            "America/Indiana/Winamac",
                            "America/Inuvik",
                            "America/Iqaluit",
                            "America/Jamaica",
                            "America/Juneau",
                            "America/Kentucky/Louisville",
                            "America/Kentucky/Monticello",
                            "America/Kralendijk",
                            "America/La_Paz",
                            "America/Lima",
                            "America/Los_Angeles",
                            "America/Lower_Princes",
                            "America/Maceio",
                            "America/Managua",
                            "America/Manaus",
                            "America/Marigot",
                            "America/Martinique",
                            "America/Matamoros",
                            "America/Mazatlan",
                            "America/Menominee",
                            "America/Merida",
                            "America/Metlakatla",
                            "America/Mexico_City",
                            "America/Miquelon",
                            "America/Moncton",
                            "America/Monterrey",
                            "America/Montevideo",
                            "America/Montserrat",
                            "America/Nassau",
                            "America/New_York",
                            "America/Nome",
                            "America/Noronha",
                            "America/North_Dakota/Beulah",
                            "America/North_Dakota/Center",
                            "America/North_Dakota/New_Salem",
                            "America/Nuuk",
                            "America/Ojinaga",
                            "America/Panama",
                            "America/Paramaribo",
                            "America/Phoenix",
                            "America/Port-au-Prince",
                            "America/Port_of_Spain",
                            "America/Porto_Velho",
                            "America/Puerto_Rico",
                            "America/Punta_Arenas",
                            "America/Rankin_Inlet",
                            "America/Recife",
                            "America/Regina",
                            "America/Resolute",
                            "America/Rio_Branco",
                            "America/Santarem",
                            "America/Santiago",
                            "America/Santo_Domingo",
                            "America/Sao_Paulo",
                            "America/Scoresbysund",
                            "America/Sitka",
                            "America/St_Barthelemy",
                            "America/St_Johns",
                            "America/St_Kitts",
                            "America/St_Lucia",
                            "America/St_Thomas",
                            "America/St_Vincent",
                            "America/Swift_Current",
                            "America/Tegucigalpa",
                            "America/Thule",
                            "America/Tijuana",
                            "America/Toronto",
                            "America/Tortola",
                            "America/Vancouver",
                            "America/Whitehorse",
                            "America/Winnipeg",
                            "America/Yakutat",
                            "Antarctica/Casey",
                            "Antarctica/Davis",
                            "Antarctica/DumontDUrville",
                            "Antarctica/Macquarie",
                            "Antarctica/Mawson",
                            "Antarctica/McMurdo",
                            "Antarctica/Palmer",
                            "Antarctica/Rothera",
                            "Antarctica/Syowa",
                            "Antarctica/Troll",
                            "Antarctica/Vostok",
                            "Arctic/Longyearbyen",
                            "Asia/Aden",
                            "Asia/Almaty",
                            "Asia/Amman",
                            "Asia/Anadyr",
                            "Asia/Aqtau",
                            "Asia/Aqtobe",
                            "Asia/Ashgabat",
                            "Asia/Atyrau",
                            "Asia/Baghdad",
                            "Asia/Bahrain",
                            "Asia/Baku",
                            "Asia/Bangkok",
                            "Asia/Barnaul",
                            "Asia/Beirut",
                            "Asia/Bishkek",
                            "Asia/Brunei",
                            "Asia/Chita",
                            "Asia/Choibalsan",
                            "Asia/Colombo",
                            "Asia/Damascus",
                            "Asia/Dhaka",
                            "Asia/Dili",
                            "Asia/Dubai",
                            "Asia/Dushanbe",
                            "Asia/Famagusta",
                            "Asia/Gaza",
                            "Asia/Hebron",
                            "Asia/Ho_Chi_Minh",
                            "Asia/Hong_Kong",
                            "Asia/Hovd",
                            "Asia/Irkutsk",
                            "Asia/Jakarta",
                            "Asia/Jayapura",
                            "Asia/Jerusalem",
                            "Asia/Kabul",
                            "Asia/Kamchatka",
                            "Asia/Karachi",
                            "Asia/Kathmandu",
                            "Asia/Khandyga",
                            "Asia/Kolkata",
                            "Asia/Krasnoyarsk",
                            "Asia/Kuala_Lumpur",
                            "Asia/Kuching",
                            "Asia/Kuwait",
                            "Asia/Macau",
                            "Asia/Magadan",
                            "Asia/Makassar",
                            "Asia/Manila",
                            "Asia/Muscat",
                            "Asia/Nicosia",
                            "Asia/Novokuznetsk",
                            "Asia/Novosibirsk",
                            "Asia/Omsk",
                            "Asia/Oral",
                            "Asia/Phnom_Penh",
                            "Asia/Pontianak",
                            "Asia/Pyongyang",
                            "Asia/Qatar",
                            "Asia/Qostanay",
                            "Asia/Qyzylorda",
                            "Asia/Riyadh",
                            "Asia/Sakhalin",
                            "Asia/Samarkand",
                            "Asia/Seoul",
                            "Asia/Shanghai",
                            "Asia/Singapore",
                            "Asia/Srednekolymsk",
                            "Asia/Taipei",
                            "Asia/Tashkent",
                            "Asia/Tbilisi",
                            "Asia/Tehran",
                            "Asia/Thimphu",
                            "Asia/Tokyo",
                            "Asia/Tomsk",
                            "Asia/Ulaanbaatar",
                            "Asia/Urumqi",
                            "Asia/Ust-Nera",
                            "Asia/Vientiane",
                            "Asia/Vladivostok",
                            "Asia/Yakutsk",
                            "Asia/Yangon",
                            "Asia/Yekaterinburg",
                            "Asia/Yerevan",
                            "Atlantic/Azores",
                            "Atlantic/Bermuda",
                            "Atlantic/Canary",
                            "Atlantic/Cape_Verde",
                            "Atlantic/Faroe",
                            "Atlantic/Madeira",
                            "Atlantic/Reykjavik",
                            "Atlantic/South_Georgia",
                            "Atlantic/St_Helena",
                            "Atlantic/Stanley",
                            "Australia/Adelaide",
                            "Australia/Brisbane",
                            "Australia/Broken_Hill",
                            "Australia/Darwin",
                            "Australia/Eucla",
                            "Australia/Hobart",
                            "Australia/Lindeman",
                            "Australia/Lord_Howe",
                            "Australia/Melbourne",
                            "Australia/Perth",
                            "Australia/Sydney",
                            "Europe/Amsterdam",
                            "Europe/Andorra",
                            "Europe/Astrakhan",
                            "Europe/Athens",
                            "Europe/Belgrade",
                            "Europe/Berlin",
                            "Europe/Bratislava",
                            "Europe/Brussels",
                            "Europe/Bucharest",
                            "Europe/Budapest",
                            "Europe/Busingen",
                            "Europe/Chisinau",
                            "Europe/Copenhagen",
                            "Europe/Dublin",
                            "Europe/Gibraltar",
                            "Europe/Guernsey",
                            "Europe/Helsinki",
                            "Europe/Isle_of_Man",
                            "Europe/Istanbul",
                            "Europe/Jersey",
                            "Europe/Kaliningrad",
                            "Europe/Kirov",
                            "Europe/Kyiv",
                            "Europe/Lisbon",
                            "Europe/Ljubljana",
                            "Europe/London",
                            "Europe/Luxembourg",
                            "Europe/Madrid",
                            "Europe/Malta",
                            "Europe/Mariehamn",
                            "Europe/Minsk",
                            "Europe/Monaco",
                            "Europe/Moscow",
                            "Europe/Oslo",
                            "Europe/Paris",
                            "Europe/Podgorica",
                            "Europe/Prague",
                            "Europe/Riga",
                            "Europe/Rome",
                            "Europe/Samara",
                            "Europe/San_Marino",
                            "Europe/Sarajevo",
                            "Europe/Saratov",
                            "Europe/Simferopol",
                            "Europe/Skopje",
                            "Europe/Sofia",
                            "Europe/Stockholm",
                            "Europe/Tallinn",
                            "Europe/Tirane",
                            "Europe/Ulyanovsk",
                            "Europe/Vaduz",
                            "Europe/Vatican",
                            "Europe/Vienna",
                            "Europe/Vilnius",
                            "Europe/Volgograd",
                            "Europe/Warsaw",
                            "Europe/Zagreb",
                            "Europe/Zurich",
                            "Indian/Antananarivo",
                            "Indian/Chagos",
                            "Indian/Christmas",
                            "Indian/Cocos",
                            "Indian/Comoro",
                            "Indian/Kerguelen",
                            "Indian/Mahe",
                            "Indian/Maldives",
                            "Indian/Mauritius",
                            "Indian/Mayotte",
                            "Indian/Reunion",
                            "Pacific/Apia",
                            "Pacific/Auckland",
                            "Pacific/Bougainville",
                            "Pacific/Chatham",
                            "Pacific/Chuuk",
                            "Pacific/Easter",
                            "Pacific/Efate",
                            "Pacific/Fakaofo",
                            "Pacific/Fiji",
                            "Pacific/Funafuti",
                            "Pacific/Galapagos",
                            "Pacific/Gambier",
                            "Pacific/Guadalcanal",
                            "Pacific/Guam",
                            "Pacific/Honolulu",
                            "Pacific/Kanton",
                            "Pacific/Kiritimati",
                            "Pacific/Kosrae",
                            "Pacific/Kwajalein",
                            "Pacific/Majuro",
                            "Pacific/Marquesas",
                            "Pacific/Midway",
                            "Pacific/Nauru",
                            "Pacific/Niue",
                            "Pacific/Norfolk",
                            "Pacific/Noumea",
                            "Pacific/Pago_Pago",
                            "Pacific/Palau",
                            "Pacific/Pitcairn",
                            "Pacific/Pohnpei",
                            "Pacific/Port_Moresby",
                            "Pacific/Rarotonga",
                            "Pacific/Saipan",
                            "Pacific/Tahiti",
                            "Pacific/Tarawa",
                            "Pacific/Tongatapu",
                            "Pacific/Wake",
                            "Pacific/Wallis"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Data Timezone",
                        "LabelCode": "osipiweb.timezone.label",
                        "ToolTip": "UTC Timezone of Outbound data",
                        "ToolTipCode": "osipiweb.timezone.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": true,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "osipiweb.database.label",
                        "ToolTip": "Name of Asset Framework database",
                        "ToolTipCode": "osipiweb.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "osipiweb.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "osipiweb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "description",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Description",
                        "LabelCode": "osipiweb.description.label",
                        "ToolTip": "Instance Description",
                        "ToolTipCode": "osipiweb.description.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure Skip Verify",
                        "LabelCode": "osipiweb.insecureSkipVerify.label",
                        "ToolTip": "Disable server certificate chain and host name verification",
                        "ToolTipCode": "osipiweb.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tagNameFormat",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "$S$V.$D.$N",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Point Name Format",
                        "LabelCode": "osipiweb.tagNameFormat.label",
                        "ToolTip": "Formatting directives for PI point name",
                        "ToolTipCode": "osipiweb.tagNameFormat.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 2,
                        "MaxLength": 256,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "endpoint",
                        "username",
                        "password",
                        "requestTimeout",
                        "tagNameFormat",
                        "tagTypeFormat",
                        "subscribeInterval",
                        "maxSubscriptionEvents",
                        "publishDelayThreshold",
                        "publishCountThreshold"
                    ],
                    "Order": [
                        "name",
                        "description",
                        "endpoint",
                        "username",
                        "password",
                        "insecureSkipVerify",
                        "caCert",
                        "timezone",
                        "dataSourceType",
                        "dataSourceVersion",
                        "tagNameFormat",
                        "tagTypeFormat",
                        "tagDescriptionFormat",
                        "compression",
                        "checkTags",
                        "piServer",
                        "requestTimeout",
                        "publishDelayThreshold",
                        "publishCountThreshold",
                        "subscribeInterval",
                        "maxSubscriptionEvents",
                        "workersCount",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - AWS IoT Core - MQTT Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## AWS IoT Core - MQTT Gen 2 — Provider Schema

**Provider ID:** `aws-iot-core-mqtt-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `caCert` | string | CA Certificate | No | `` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | No | `8883` | - |
| `privateKey` | string | Private key | Yes | `` | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `willPayload` | string | LWT payload | No | - | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `certificate` | string | Certificate | Yes | `` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `clientId` | string | Client ID | No | - | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willTopic` | string | LWT topic | No | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "aws-iot-core-mqtt-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/aws-iotcore-mqtt-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "certificate",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "aws.caCert.label",
                        "ToolTip": "Amazon Root CA certificate (optional - uses system trust store if not provided).",
                        "ToolTipCode": "aws.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "aws.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "aws.hostname.tooltip",
                        "Example": "a1o8e9c82gegra.iot.us-east-2.amazonaws.com",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "aws.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "aws.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "aws.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "aws.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "aws.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "aws.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "aws.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "aws.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "aws.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "aws.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "aws.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "aws.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "aws.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "aws.topic.tooltip",
                        "Example": "/events",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "aws.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "aws.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "aws.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "aws.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "aws.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "aws.clientId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "aws.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "aws.name.tooltip",
                        "Example": "Amazon IoT Cloud",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "aws.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "aws.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "aws.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "aws.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "topic",
                        "workersCount",
                        "certificate",
                        "privateKey"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "certificate",
                        "privateKey",
                        "caCert",
                        "clientId",
                        "qos",
                        "workersCount",
                        "topic",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - AWS IoT SiteWise

**POST** `{{edgeUrl}}/cc/v2`

## AWS IoT SiteWise — Provider Schema

**Provider ID:** `aws-sitewise`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `region` | string | Region | Yes | - | - |
| `subscribeIntervalSeconds` | integer | Subscribe interval | No | `1` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `accessKey` | string | Access key | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `numberOfBatchMessagesToPublish` | integer | Number of batch messages | No | `1` | - |
| `secretAccessKey` | string | Secret access key | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "aws-sitewise"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/aws-sitewise.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "region",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Region",
                        "LabelCode": "aws.sitewise.regionName.label",
                        "ToolTip": "Region Name",
                        "ToolTipCode": "aws.sitewise.regionName.tooltip",
                        "Example": "us-west-2",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "subscribeIntervalSeconds",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Subscribe interval",
                        "LabelCode": "aws.sitewise.subscribeIntervalSeconds.label",
                        "ToolTip": "The subscription polling interval in seconds",
                        "ToolTipCode": "aws.sitewise.subscribeIntervalSeconds.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "accessKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Access key",
                        "LabelCode": "aws.sitewise.accessKey.label",
                        "ToolTip": "The access key",
                        "ToolTipCode": "aws.sitewise.accessKey.tooltip",
                        "Example": "AKIAIOSFODNN7EXAMPLE",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "aws.sitewise.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "gcloudpubsub.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "numberOfBatchMessagesToPublish",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 10,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Number of batch messages",
                        "LabelCode": "aws.sitewise.numberOfBatchMessagesToPublish.label",
                        "ToolTip": "The number of batch messages to publish",
                        "ToolTipCode": "aws.sitewise.numberOfBatchMessagesToPublish.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "secretAccessKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Secret access key",
                        "LabelCode": "aws.sitewise.secretAccessKey.label",
                        "ToolTip": "The secret access key",
                        "ToolTipCode": "aws.sitewise.secretAccessKey.tooltip",
                        "Example": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "region",
                        "accessKey",
                        "secretAccessKey"
                    ],
                    "Order": [
                        "name",
                        "region",
                        "accessKey",
                        "secretAccessKey",
                        "subscribeIntervalSeconds",
                        "numberOfBatchMessagesToPublish",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - AWS IoT SiteWise Edge

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - AWS IoT SiteWise Edge — Provider Schema

**Provider ID:** `aws-sitewise-edge`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `hostname` | string | Hostname | Yes | - | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `topic` | string | Integration Topic | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `workersCount` | integer | Parallel Publish Count | No | `100` | - |
| `port` | integer | Port | Yes | `8883` | - |
| `propertyAlias` | string | Property Alias | Yes | - | - |
| `willTopic` | string | LWT topic | No | - | - |
| `additionalAliasDefinition` | string | Additional Alias Definition | No | - | - |
| `clientId` | string | Client ID | Yes | - | - |
| `name` | string | Instance Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "aws-sitewise-edge"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/aws-sitewise-.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "aws.sitewiseedge.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "aws.sitewiseedge.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "aws.sitewiseedge.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "aws.sitewiseedge.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "aws.sitewiseedge.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "aws.sitewiseedge.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "aws.sitewiseedge.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "aws.sitewiseedge.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "aws.sitewiseedge.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "aws.sitewiseedge.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "aws.sitewiseedge.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "aws.sitewiseedge.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "aws.sitewiseedge.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "aws.sitewiseedge.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "aws.sitewiseedge.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "aws.sitewiseedge.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "propertyAlias",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Property Alias",
                        "LabelCode": "aws.sitewiseedge.propertyAlias.label",
                        "ToolTip": "AWS IoT Sitewise Asset Property Alias",
                        "ToolTipCode": "aws.sitewiseedge.propertyAlias.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "aws.sitewiseedge.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "aws.sitewiseedge.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "additionalAliasDefinition",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Additional Alias Definition",
                        "LabelCode": "aws.sitewiseedge.additionalAliasDefinition.label",
                        "ToolTip": "Optional string to further define dynamic propertyAlias and Integration Topic",
                        "ToolTipCode": "aws.sitewiseedge.additionalAliasDefinition.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "aws.sitewiseedge.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "aws.sitewiseedge.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Instance Name",
                        "LabelCode": "aws.sitewiseedge.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "aws.sitewiseedge.name.tooltip",
                        "Example": "AWS IoT Sitewise Edge connector",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "aws.sitewiseedge.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "aws.sitewiseedge.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "clientId",
                        "propertyAlias",
                        "topic"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "clientId",
                        "propertyAlias",
                        "topic",
                        "additionalAliasDefinition",
                        "qos",
                        "workersCount",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - MQTT - AWS IoT SiteWise Edge Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - AWS IoT SiteWise Edge Gen 2 — Provider Schema

**Provider ID:** `aws-iot-sitewise-edge-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willTopic` | string | LWT topic | No | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | Yes | `8883` | - |
| `propertyAlias` | string | Property Alias | Yes | - | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `additionalAliasDefinition` | string | Additional Alias Definition | No | - | - |
| `clientId` | string | Client ID | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `100` | - |
| `name` | string | Instance Name | Yes | - | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "aws-iot-sitewise-edge-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/aws-sitewise-.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "aws.sitewiseedge.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "aws.sitewiseedge.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "aws.sitewiseedge.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "aws.sitewiseedge.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "aws.sitewiseedge.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "aws.sitewiseedge.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "aws.sitewiseedge.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "aws.sitewiseedge.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "aws.sitewiseedge.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "aws.sitewiseedge.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "propertyAlias",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Property Alias",
                        "LabelCode": "aws.sitewiseedge.propertyAlias.label",
                        "ToolTip": "AWS IoT Sitewise Asset Property Alias",
                        "ToolTipCode": "aws.sitewiseedge.propertyAlias.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "aws.sitewiseedge.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "aws.sitewiseedge.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "additionalAliasDefinition",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Additional Alias Definition",
                        "LabelCode": "aws.sitewiseedge.additionalAliasDefinition.label",
                        "ToolTip": "Optional string to further define dynamic propertyAlias and Integration Topic",
                        "ToolTipCode": "aws.sitewiseedge.additionalAliasDefinition.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "aws.sitewiseedge.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "aws.sitewiseedge.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "aws.sitewiseedge.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "aws.sitewiseedge.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "aws.sitewiseedge.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "aws.sitewiseedge.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Instance Name",
                        "LabelCode": "aws.sitewiseedge.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "aws.sitewiseedge.name.tooltip",
                        "Example": "AWS IoT Sitewise Edge connector",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "aws.sitewiseedge.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "aws.sitewiseedge.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "aws.sitewiseedge.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "aws.sitewiseedge.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "clientId",
                        "propertyAlias",
                        "topic"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "clientId",
                        "propertyAlias",
                        "topic",
                        "additionalAliasDefinition",
                        "qos",
                        "workersCount",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - MQTT - Amazon AWS IoT Core over SSL

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - Amazon AWS IoT Core over SSL — Provider Schema

**Provider ID:** `aws-iotcore-mqtt-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `willTopic` | string | LWT topic | No | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | No | `8883` | - |
| `willPayload` | string | LWT payload | No | - | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `topic` | string | Integration Topic | Yes | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `certificate` | string | Certificate | Yes | `` | - |
| `clientId` | string | Client ID | No | - | - |
| `privateKey` | string | Private key | Yes | `` | - |
| `willRetained` | boolean | LWT retained | No | `False` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "aws-iotcore-mqtt-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/aws-iotcore-mqtt-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "aws.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "aws.name.tooltip",
                        "Example": "Amazon IoT Cloud",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "aws.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "aws.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "aws.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "aws.hostname.tooltip",
                        "Example": "a1o8e9c82gegra.iot.us-east-2.amazonaws.com",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "aws.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "aws.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "aws.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "aws.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "aws.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "aws.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "aws.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "aws.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "aws.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "aws.topic.tooltip",
                        "Example": "/events",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "aws.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "aws.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "aws.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "aws.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "aws.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "aws.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "aws.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "aws.clientId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "aws.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "aws.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "aws.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "aws.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "topic",
                        "workersCount",
                        "certificate",
                        "privateKey"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "certificate",
                        "privateKey",
                        "clientId",
                        "qos",
                        "workersCount",
                        "topic",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Azure Event Hubs

**POST** `{{edgeUrl}}/cc/v2`

## Azure Event Hubs — Provider Schema

**Provider ID:** `azure-event-hubs`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `combineMessages` | boolean | Combine messages | Yes | `True` | - |
| `connectionsCount` | integer | Parallel connections count | Yes | `50` | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `connectionString` | string | Connection string | Yes | - | - |
| `maxMessageSize` | integer | Maximum message size | Yes | `256` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "azure-event-hubs"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/azure-event-hubs.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "combineMessages",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Combine messages",
                        "LabelCode": "azure-event-hubs.combineMessages.label",
                        "ToolTip": "Decrease count of messages by combine them to a single message",
                        "ToolTipCode": "azure-event-hubs.combineMessages.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connectionsCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 50,
                        "Minimum": 1,
                        "Maximum": 50,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel connections count",
                        "LabelCode": "azure-event-hubs.connectionsCount.label",
                        "ToolTip": "The count of parallel connections",
                        "ToolTipCode": "azure-event-hubs.connectionsCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "azure-event-hubs.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "azure-event-hubs.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connectionString",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": null,
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Connection string",
                        "LabelCode": "azure-event-hubs.connectionString.label",
                        "ToolTip": "Connection string",
                        "ToolTipCode": "azure-event-hubs.connectionString.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 512,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxMessageSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 256,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Maximum message size",
                        "LabelCode": "azure-event-hubs.maxMessageSize.label",
                        "ToolTip": "Maximum message size in KB",
                        "ToolTipCode": "azure-event-hubs.maxMessageSize.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "connectionString",
                        "maxMessageSize",
                        "connectionsCount",
                        "combineMessages"
                    ],
                    "Order": [
                        "name",
                        "connectionString",
                        "maxMessageSize",
                        "connectionsCount",
                        "combineMessages",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - Azure IoT Hub using SAS Key over SSL Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## Azure IoT Hub using SAS Key over SSL Gen 2 — Provider Schema

**Provider ID:** `azure-iot-hub-sas-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `deviceId` | string | Device ID | Yes | - | - |
| `port` | integer | Port | No | `8883` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `sasKey` | string | SAS Key | Yes | - | - |
| `tokenTTL` | integer | Token TTL (minutes) | Yes | `1440` | - |
| `topic` | string | Integration Topic | No | `devices/{deviceId}/messages/events/` | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `16` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `willTopic` | string | LWT topic | No | - | - |
| `hostname` | string | Hostname | Yes | `{IoTHub}.azure-devices.net` | - |
| `name` | string | Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "azure-iot-hub-sas-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/azure-iothub-mqtt-sas-key.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "deviceId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Device ID",
                        "LabelCode": "azureIoT.deviceId.label",
                        "ToolTip": "ID of the device as shown in your Azure IoT account.",
                        "ToolTipCode": "azureIoT.deviceId.tooltip",
                        "Example": "loopedge-000c29dedd9e",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "azureIoT.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "azureIoT.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sasKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SAS Key",
                        "LabelCode": "azureIoT.key.label",
                        "ToolTip": "Primary or secondary shared access key.",
                        "ToolTipCode": "azureIoT.sasKey.tooltip",
                        "Example": "elACzLnthGKteZLCk2TF30OppwFdABZr+k8J+WBhzLo=",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tokenTTL",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1440,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Token TTL (minutes)",
                        "LabelCode": "azureIoT.tokenTTL.label",
                        "ToolTip": "The token expiry time in minutes",
                        "ToolTipCode": "azureIoT.tokenTTL.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "devices/{deviceId}/messages/events/",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "azureIoT.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "azureIoT.topic.tooltip",
                        "Example": "devices/loopedge-000c29dedd9e/messages/events/",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "azureIoT.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "azureIoT.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "azureIoT.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "azureIoT.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 16,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "azureIoT.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "azureIoT.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "azureIoT.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "azureIoT.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "azureIoT.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "azureIoT.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "azureIoT.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "azureIoT.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "{IoTHub}.azure-devices.net",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "azureIoT.hostname.label",
                        "ToolTip": "DNS name of MQTT host. It can be found in \"Overview\" tab of your Azure IoT hub.",
                        "ToolTipCode": "azureIoT.hostname.tooltip",
                        "Example": "loopedge.azure-devices.net",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "azureIoT.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "azureIoT.name.tooltip",
                        "Example": "Azure IoT Cloud",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "deviceId",
                        "sasKey",
                        "tokenTTL",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "deviceId",
                        "sasKey",
                        "workersCount",
                        "topic",
                        "tokenTTL",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - Azure IoT Hub using Device Certificates

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - Azure IoT Hub using Device Certificates — Provider Schema

**Provider ID:** `azure-iothub-mqtt-device-cert`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `topic` | string | Integration Topic | No | `devices/{deviceId}/messages/events/` | - |
| `certificate` | string | Certificate | Yes | `` | - |
| `hostname` | string | Hostname | Yes | `{IoTHub}.azure-devices.net` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `16` | - |
| `privateKey` | string | Private key | Yes | `` | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `deviceId` | string | Device ID | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `willTopic` | string | LWT topic | No | - | - |
| `port` | integer | Port | No | `8883` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "azure-iothub-mqtt-device-cert"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/azure-iothub-mqtt-device-cert.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "devices/{deviceId}/messages/events/",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "azureIoT.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "azureIoT.topic.tooltip",
                        "Example": "devices/loopedge-000c29dedd9e/messages/events/",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "azureIoT.certificate.label",
                        "ToolTip": "Device certificate",
                        "ToolTipCode": "azureIoT.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "{IoTHub}.azure-devices.net",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "azureIoT.hostname.label",
                        "ToolTip": "DNS name of MQTT host. It can be found in \"Overview\" tab of your Azure IoT hub.",
                        "ToolTipCode": "azureIoT.hostname.tooltip",
                        "Example": "loopedge.azure-devices.net",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 16,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "azureIoT.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "azureIoT.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "azureIoT.privateKey.label",
                        "ToolTip": "Device key",
                        "ToolTipCode": "azureIoT.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "generic.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "generic.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "azureIoT.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "azureIoT.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "generic.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "generic.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "generic.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "generic.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "deviceId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Device ID",
                        "LabelCode": "azureIoT.deviceId.label",
                        "ToolTip": "ID of the device as shown in your Azure IoT hub.",
                        "ToolTipCode": "azureIoT.deviceId.tooltip",
                        "Example": "loopedge-000c29dedd9e",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "azureIoT.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "azureIoT.name.tooltip",
                        "Example": "Azure IoT Cloud",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "generic.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "generic.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "azureIoT.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "azureIoT.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "deviceId",
                        "certificate",
                        "privateKey",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "deviceId",
                        "certificate",
                        "privateKey",
                        "workersCount",
                        "topic",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - Azure IoT Hub using SAS Key

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - Azure IoT Hub using SAS Key — Provider Schema

**Provider ID:** `azure-iothub-mqtt-sas-key`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `sasKey` | string | SAS Key | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `16` | - |
| `deviceId` | string | Device ID | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `willTopic` | string | LWT topic | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `hostname` | string | Hostname | Yes | `{IoTHub}.azure-devices.net` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `tokenTTL` | integer | Token TTL (minutes) | Yes | `1440` | - |
| `willPayload` | string | LWT payload | No | - | - |
| `port` | integer | Port | No | `8883` | - |
| `topic` | string | Integration Topic | No | `devices/{deviceId}/messages/events/` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "azure-iothub-mqtt-sas-key"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/azure-iothub-mqtt-sas-key.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "azureIoT.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "azureIoT.name.tooltip",
                        "Example": "Azure IoT Cloud",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sasKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SAS Key",
                        "LabelCode": "azureIoT.key.label",
                        "ToolTip": "Primary or secondary shared access key.",
                        "ToolTipCode": "azureIoT.sasKey.tooltip",
                        "Example": "elACzLnthGKteZLCk2TF30OppwFdABZr+k8J+WBhzLo=",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "azureIoT.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "azureIoT.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "azureIoT.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "azureIoT.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 16,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "azureIoT.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "azureIoT.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "deviceId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Device ID",
                        "LabelCode": "azureIoT.deviceId.label",
                        "ToolTip": "ID of the device as shown in your Azure IoT account.",
                        "ToolTipCode": "azureIoT.deviceId.tooltip",
                        "Example": "loopedge-000c29dedd9e",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "azureIoT.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "azureIoT.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "azureIoT.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "azureIoT.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "{IoTHub}.azure-devices.net",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "azureIoT.hostname.label",
                        "ToolTip": "DNS name of MQTT host. It can be found in \"Overview\" tab of your Azure IoT hub.",
                        "ToolTipCode": "azureIoT.hostname.tooltip",
                        "Example": "loopedge.azure-devices.net",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tokenTTL",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1440,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Token TTL (minutes)",
                        "LabelCode": "azureIoT.tokenTTL.label",
                        "ToolTip": "The token expiry time in minutes",
                        "ToolTipCode": "azureIoT.tokenTTL.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "azureIoT.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "azureIoT.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "azureIoT.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "azureIoT.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "devices/{deviceId}/messages/events/",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "azureIoT.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "azureIoT.topic.tooltip",
                        "Example": "devices/loopedge-000c29dedd9e/messages/events/",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "deviceId",
                        "sasKey",
                        "tokenTTL",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "deviceId",
                        "sasKey",
                        "workersCount",
                        "topic",
                        "tokenTTL",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Cognite Connector

**POST** `{{edgeUrl}}/cc/v2`

## Cognite Connector — Provider Schema

**Provider ID:** `cognite`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `projectID` | string | Project ID | Yes | - | - |
| `scope` | string | Scope | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `clientID` | string | Client ID | Yes | - | - |
| `clientSecret` | string | Client Secret | Yes | - | - |
| `cluster` | string | Cluster | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `subscribeIntervalSeconds` | integer | Subscribe interval | No | `1` | - |
| `tenantID` | string | Tenant ID | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "cognite"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/cognite.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "cognite.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "cognite.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "projectID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Project ID",
                        "LabelCode": "cognite.projectID.label",
                        "ToolTip": "Project ID",
                        "ToolTipCode": "cognite.projectID.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "scope",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Scope",
                        "LabelCode": "cognite.scope.label",
                        "ToolTip": "Scope name",
                        "ToolTipCode": "cognite.scope.tooltip",
                        "Example": "https://az-eastus-9.cognitedata.com/.default",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "cognite.clientID.label",
                        "ToolTip": "Client ID",
                        "ToolTipCode": "cognite.clientID.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientSecret",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client Secret",
                        "LabelCode": "cognite.clientSecret.label",
                        "ToolTip": "Client secret",
                        "ToolTipCode": "cognite.clientSecret.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "cluster",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Cluster",
                        "LabelCode": "cognite.cluster.label",
                        "ToolTip": "Cluster name",
                        "ToolTipCode": "cognite.cluster.tooltip",
                        "Example": "az-eastus-9",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "subscribeIntervalSeconds",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Subscribe interval",
                        "LabelCode": "cognite.subscribeIntervalSeconds.label",
                        "ToolTip": "The subscription polling interval in seconds",
                        "ToolTipCode": "cognite.subscribeIntervalSeconds.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "tenantID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Tenant ID",
                        "LabelCode": "cognite.tenantID.label",
                        "ToolTip": "Microsoft Azure Tenant ID",
                        "ToolTipCode": "cognite.tenantID.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "projectID",
                        "tenantID",
                        "clientID",
                        "clientSecret",
                        "cluster",
                        "scope"
                    ],
                    "Order": [
                        "name",
                        "projectID",
                        "tenantID",
                        "clientID",
                        "clientSecret",
                        "cluster",
                        "scope",
                        "subscribeIntervalSeconds",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - DB - Databricks SQL

**POST** `{{edgeUrl}}/cc/v2`

## DB - Databricks SQL — Provider Schema

**Provider ID:** `databricks`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `bulkSize` | integer | Bulk insert count | No | `0` | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `table` | string | Table | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `connString` | string | DSN Connection string | Yes | - | - |
| `createTable` | boolean | Create table | Yes | `False` | - |
| `mapping` | object | Mapping | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "databricks"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/databricks.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "databricks.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "databricks.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "databricks.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "databricks.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "databricks.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "databricks.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "databricks.commit_timeout.label",
                        "ToolTip": "Bulk insert commit timeout (ms)",
                        "ToolTipCode": "databricks.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connString",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": null,
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "DSN Connection string",
                        "LabelCode": "databricks.connString.label",
                        "ToolTip": "Data source name connection string",
                        "ToolTipCode": "databricks.connString.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "databricks.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "databricks.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "databricks.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "databricks.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "connString",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "connString",
                        "table",
                        "mapping",
                        "createTable",
                        "bulkSize",
                        "commitTimeout",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - Google Cloud Pub/Sub Connector

**POST** `{{edgeUrl}}/cc/v2`

## Google Cloud Pub/Sub Connector — Provider Schema

**Provider ID:** `gcloud-pubsub`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `projectId` | string | Project ID | Yes | - | - |
| `publishByteThreshold` | integer | Publish byte threshold | No | `0` | - |
| `clientEmail` | string | Client Email | No | - | - |
| `publishDelayThreshold` | integer | Publish delay threshold (Milliseconds) | No | `0` | - |
| `publishCountThreshold` | integer | Publish count threshold | No | `0` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `meta` | object | Custom Attributes | No | - | - |
| `privateKeyID` | string | Private Key ID | No | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `key` | string | Credentials (.json) | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "gcloud-pubsub"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/gcloud-pubsub.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "projectId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Project ID",
                        "LabelCode": "gcloudpubsub.projectId.label",
                        "ToolTip": "The project ID of the cloud project",
                        "ToolTipCode": "gcloudpubsub.projectId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "publishByteThreshold",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Publish byte threshold",
                        "LabelCode": "gcloudpubsub.byteThreshold.label",
                        "ToolTip": "Publish byte threshold (0 is a default value, could be interpreted like - no limits)",
                        "ToolTipCode": "gcloudpubsub.byteThreshold.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientEmail",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client Email",
                        "LabelCode": "gcloudpubsub.clientEmail.label",
                        "ToolTip": "The client email of the cloud project",
                        "ToolTipCode": "gcloudpubsub.clientEmail.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "publishDelayThreshold",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Publish delay threshold (Milliseconds)",
                        "LabelCode": "gcloudpubsub.delayThreshold.label",
                        "ToolTip": "Publish delay threshold (0 is a default value, could be interpreted like - no limits)",
                        "ToolTipCode": "gcloudpubsub.delayThreshold.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "publishCountThreshold",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Publish count threshold",
                        "LabelCode": "gcloudpubsub.countThreshold.label",
                        "ToolTip": "Publish count threshold (0 is a default value, could be interpreted like - no limits)",
                        "ToolTipCode": "gcloudpubsub.countThreshold.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "gcloudpubsub.topic.label",
                        "ToolTip": "Sub topic",
                        "ToolTipCode": "gcloudpubsub.topic.tooltip",
                        "Example": "projects/project-identifier/collection/relative-name",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 10,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "meta",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Custom Attributes",
                        "LabelCode": "gcloudpubsub.customAttributes.label",
                        "ToolTip": "The custom attributes",
                        "ToolTipCode": "gcloudpubsub.customAttributes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKeyID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private Key ID",
                        "LabelCode": "gcloudpubsub.privateKeyID.label",
                        "ToolTip": "The private key ID of the cloud project",
                        "ToolTipCode": "gcloudpubsub.privateKeyID.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "key",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Credentials (.json)",
                        "LabelCode": "gcloudpubsub.key.label",
                        "ToolTip": "Credentials (.json)",
                        "ToolTipCode": "gcloudpubsub.key.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "gcloudpubsub.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "gcloudpubsub.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "key",
                        "projectId",
                        "topic",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "key",
                        "projectId",
                        "privateKeyID",
                        "clientEmail",
                        "topic",
                        "meta",
                        "workersCount",
                        "publishByteThreshold",
                        "publishCountThreshold",
                        "publishDelayThreshold",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - IBM Watson over SSL

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - IBM Watson over SSL — Provider Schema

**Provider ID:** `ibm-watson-mqtt-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `willTopic` | string | LWT topic | No | - | - |
| `orgId` | string | Organization ID | Yes | `` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `port` | integer | Port | Yes | `8883` | - |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `deviceId` | string | Device ID | Yes | - | - |
| `hostname` | string | Hostname | Yes | `{orgId}.messaging.internetofthings.ibmcloud.com` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `willPayload` | string | LWT payload | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `token` | string | Token | Yes | - | - |
| `deviceType` | string | Device Type | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "ibm-watson-mqtt-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/ibm-watson-mqtt-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "ibm.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "ibm.topic.tooltip",
                        "Example": "iot-2/evt/status/fmt/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "ibm.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "ibm.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "ibm.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "ibm.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "ibm.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "ibm.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "orgId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Organization ID",
                        "LabelCode": "ibm.orgId.label",
                        "ToolTip": "The unique six-character organization ID",
                        "ToolTipCode": "ibm.orgId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "ibm.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "ibm.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "ibm.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "ibm.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "ibm.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "ibm.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "deviceId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Device ID",
                        "LabelCode": "ibm.deviceId.label",
                        "ToolTip": "Device ID is required by MQTT server.",
                        "ToolTipCode": "ibm.deviceId.tooltip",
                        "Example": "Device1",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "{orgId}.messaging.internetofthings.ibmcloud.com",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "ibm.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "ibm.hostname.tooltip",
                        "Example": "{orgId}.messaging.internetofthings.ibmcloud.com",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "ibm.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "ibm.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "ibm.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "ibm.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "ibm.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "ibm.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "token",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Token",
                        "LabelCode": "ibm.token.label",
                        "ToolTip": "Token that was generated when the device was registered with Watson IoT Platform.",
                        "ToolTipCode": "ibm.token.tooltip",
                        "Example": "?BElVYV71FDTLr2CT7",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "deviceType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Device Type",
                        "LabelCode": "ibm.deviceType.label",
                        "ToolTip": "Device Type is required by MQTT server.",
                        "ToolTipCode": "ibm.deviceType.tooltip",
                        "Example": "DeviceType1",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "ibm.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "ibm.name.tooltip",
                        "Example": "IBM watson",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "orgId",
                        "deviceType",
                        "deviceId",
                        "token",
                        "topic",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "caCert",
                        "orgId",
                        "deviceType",
                        "deviceId",
                        "token",
                        "qos",
                        "workersCount",
                        "topic",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - DB - InfluxDB v1.7.x SSL

**POST** `{{edgeUrl}}/cc/v2`

## DB - InfluxDB v1.7.x SSL — Provider Schema

**Provider ID:** `influxdb-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `address` | string | InfluxDB address | Yes | - | - |
| `batchSize` | integer | Insert batch size | No | `500` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | No | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `batchCommitTimeSec` | integer | Insert batch commit time | No | `5` | - |
| `database` | string | InfluxDB database name | Yes | - | - |
| `password` | string | Password | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `privateKey` | string | Private key | No | `` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `certificate` | string | Certificate | No | `` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "influxdb-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/influxdb-ssl.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "address",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB address",
                        "LabelCode": "influxdb.address.label",
                        "ToolTip": "InfluxDB address",
                        "ToolTipCode": "influxdb.address.tooltip",
                        "Example": "http://localhost:8086",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 500,
                        "Minimum": 1,
                        "Maximum": 1000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch size",
                        "LabelCode": "influxdb.batchSize.label",
                        "ToolTip": "The number of batch messages to insert",
                        "ToolTipCode": "influxdb.batchSize.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "influxdb.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "influxdb.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "influxdb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "influxdb.name.tooltip",
                        "Example": "InfluxDB",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "influxdb.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "influxdb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchCommitTimeSec",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": 1,
                        "Maximum": 120,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch commit time",
                        "LabelCode": "influxdb.batchCommitTimeSec.label",
                        "ToolTip": "The time of batch messages to commit",
                        "ToolTipCode": "influxdb.batchCommitTimeSec.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB database name",
                        "LabelCode": "influxdb.database.label",
                        "ToolTip": "Database name",
                        "ToolTipCode": "",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "influxdb.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "influxdb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "influxdb.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "influxdb.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "influxdb.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "influxdb.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "address",
                        "database"
                    ],
                    "Order": [
                        "name",
                        "address",
                        "database",
                        "username",
                        "password",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "batchSize",
                        "batchCommitTimeSec",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - InfluxDB v1.7.x TCP

**POST** `{{edgeUrl}}/cc/v2`

## DB - InfluxDB v1.7.x TCP — Provider Schema

**Provider ID:** `influxdb-tcp`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `batchCommitTimeSec` | integer | Insert batch commit time | No | `5` | - |
| `name` | string | Name | Yes | - | - |
| `password` | string | Password | No | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | No | - | - |
| `address` | string | InfluxDB address | Yes | - | - |
| `batchSize` | integer | Insert batch size | No | `500` | - |
| `database` | string | InfluxDB database name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "influxdb-tcp"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/influxdb-tcp.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchCommitTimeSec",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": 1,
                        "Maximum": 120,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch commit time",
                        "LabelCode": "influxdb.batchCommitTimeSec.label",
                        "ToolTip": "The time of batch messages to commit",
                        "ToolTipCode": "influxdb.batchCommitTimeSec.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "influxdb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "influxdb.name.tooltip",
                        "Example": "InfluxDB",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "influxdb.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "influxdb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "influxdb.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "influxdb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "address",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB address",
                        "LabelCode": "influxdb.address.label",
                        "ToolTip": "InfluxDB address",
                        "ToolTipCode": "influxdb.address.tooltip",
                        "Example": "http://localhost:8086",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 500,
                        "Minimum": 1,
                        "Maximum": 1000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch size",
                        "LabelCode": "influxdb.batchSize.label",
                        "ToolTip": "The number of batch messages to insert",
                        "ToolTipCode": "influxdb.batchSize.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB database name",
                        "LabelCode": "influxdb.database.label",
                        "ToolTip": "",
                        "ToolTipCode": "",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "address",
                        "database"
                    ],
                    "Order": [
                        "name",
                        "address",
                        "database",
                        "username",
                        "password",
                        "batchSize",
                        "batchCommitTimeSec",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - InfluxDB v2.x TCP

**POST** `{{edgeUrl}}/cc/v2`

## DB - InfluxDB v2.x TCP — Provider Schema

**Provider ID:** `influxdb-v2-tcp`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `batchSize` | integer | Insert batch size | Yes | `500` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `address` | string | InfluxDB address | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `username` | string | Username | No | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `authToken` | string | Auth token | Yes | - | - |
| `batchCommitTimeSec` | integer | Insert batch commit time | Yes | `5` | - |
| `database` | string | InfluxDB bucket name | Yes | - | - |
| `organization` | string | Organization | Yes | - | - |
| `password` | string | Password | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "influxdb-v2-tcp"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/influxdb-tcp.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "batchSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 500,
                        "Minimum": 1,
                        "Maximum": 1000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch size",
                        "LabelCode": "influxdb.batchSize.label",
                        "ToolTip": "The number of batch messages to insert",
                        "ToolTipCode": "influxdb.batchSize.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "address",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB address",
                        "LabelCode": "influxdb.address.label",
                        "ToolTip": "InfluxDB address",
                        "ToolTipCode": "influxdb.address.tooltip",
                        "Example": "http://localhost:8086",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "influxdb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "influxdb.name.tooltip",
                        "Example": "InfluxDB",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "influxdb.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "influxdb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "authToken",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auth token",
                        "LabelCode": "influxdb.authToken.label",
                        "ToolTip": "Auth token",
                        "ToolTipCode": "influxdb.authToken.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchCommitTimeSec",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": 1,
                        "Maximum": 120,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch commit time",
                        "LabelCode": "influxdb.batchCommitTimeSec.label",
                        "ToolTip": "The time of batch messages to commit",
                        "ToolTipCode": "influxdb.batchCommitTimeSec.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB bucket name",
                        "LabelCode": "influxdb.bucket.label",
                        "ToolTip": "Database name",
                        "ToolTipCode": "",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "organization",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Organization",
                        "LabelCode": "influxdb.organization.label",
                        "ToolTip": "Organization name",
                        "ToolTipCode": "influxdb.organization.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "influxdb.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "influxdb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "address",
                        "database",
                        "organization",
                        "authToken",
                        "batchSize",
                        "batchCommitTimeSec"
                    ],
                    "Order": [
                        "name",
                        "address",
                        "database",
                        "organization",
                        "authToken",
                        "username",
                        "password",
                        "batchSize",
                        "batchCommitTimeSec",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - InfluxDB v2.x+ SSL

**POST** `{{edgeUrl}}/cc/v2`

## DB - InfluxDB v2.x+ SSL — Provider Schema

**Provider ID:** `influxdb-v2-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `database` | string | InfluxDB bucket name | Yes | - | - |
| `organization` | string | Organization | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | No | - | - |
| `name` | string | Name | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `address` | string | InfluxDB address | Yes | - | - |
| `batchCommitTimeSec` | integer | Insert batch commit time | Yes | `5` | - |
| `batchSize` | integer | Insert batch size | Yes | `500` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `privateKey` | string | Private key | No | `` | - |
| `authToken` | string | Auth token | Yes | - | - |
| `certificate` | string | Certificate | No | `` | - |
| `password` | string | Password | No | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "influxdb-v2-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/influxdb-ssl.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB bucket name",
                        "LabelCode": "influxdb.bucket.label",
                        "ToolTip": "Database name",
                        "ToolTipCode": "",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "organization",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Organization",
                        "LabelCode": "influxdb.organization.label",
                        "ToolTip": "Organization name",
                        "ToolTipCode": "influxdb.organization.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "influxdb.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "influxdb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "influxdb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "influxdb.name.tooltip",
                        "Example": "InfluxDB",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "address",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "InfluxDB address",
                        "LabelCode": "influxdb.address.label",
                        "ToolTip": "InfluxDB address",
                        "ToolTipCode": "influxdb.address.tooltip",
                        "Example": "http://localhost:8086",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchCommitTimeSec",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": 1,
                        "Maximum": 120,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch commit time",
                        "LabelCode": "influxdb.batchCommitTimeSec.label",
                        "ToolTip": "The time of batch messages to commit",
                        "ToolTipCode": "influxdb.batchCommitTimeSec.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "batchSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 500,
                        "Minimum": 1,
                        "Maximum": 1000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insert batch size",
                        "LabelCode": "influxdb.batchSize.label",
                        "ToolTip": "The number of batch messages to insert",
                        "ToolTipCode": "influxdb.batchSize.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "influxdb.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "influxdb.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "influxdb.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "influxdb.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "authToken",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auth token",
                        "LabelCode": "influxdb.authToken.label",
                        "ToolTip": "Auth token",
                        "ToolTipCode": "influxdb.authToken.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "influxdb.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "influxdb.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "influxdb.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "influxdb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "address",
                        "database",
                        "organization",
                        "authToken",
                        "batchSize",
                        "batchCommitTimeSec"
                    ],
                    "Order": [
                        "name",
                        "address",
                        "database",
                        "organization",
                        "authToken",
                        "username",
                        "password",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "batchSize",
                        "batchCommitTimeSec",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - Kafka SSL

**POST** `{{edgeUrl}}/cc/v2`

## Kafka SSL — Provider Schema

**Provider ID:** `kafka-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `name` | string | Name | Yes | - | - |
| `username` | string | Username | No | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `insecureSkipVerify` | boolean | Insecure Skip Verify | Yes | `False` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `privateKey` | string | Private key | No | `` | - |
| `saslMechanism` | string | SASL mechanism | Yes | `SCRAM-SHA-256` | `NONE`, `SASL_PLAINTEXT`, `SCRAM-SHA-256`, `SCRAM-SHA-512` |
| `certificate` | string | Certificate | No | `` | - |
| `topic` | string | Topic | Yes | - | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `password` | string | Password | No | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `workersCount` | integer | Parallel Publish Count | Yes | `2000` | - |
| `brokers` | string | Brokers list separated by comma | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "kafka-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/kafka-ssl.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "kafka.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "kafka.name.tooltip",
                        "Example": "Kafka",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "kafka.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "kafka.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure Skip Verify",
                        "LabelCode": "kafka.insecureSkipVerify.label",
                        "ToolTip": "Insecure Skip Verify controls whether a client verifies the server's certificate chain and host name",
                        "ToolTipCode": "kafka.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "kafka.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "kafka.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "saslMechanism",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "SCRAM-SHA-256",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "NONE",
                            "SASL_PLAINTEXT",
                            "SCRAM-SHA-256",
                            "SCRAM-SHA-512"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SASL mechanism",
                        "LabelCode": "kafka.sasl-mechanism.label",
                        "ToolTip": "SASL mechanism",
                        "ToolTipCode": "kafka.sasl-mechanism.tooltip",
                        "Example": "SCRAM-SHA-256",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "kafka.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "kafka.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Topic",
                        "LabelCode": "kafka.topic.label",
                        "ToolTip": "The topic name",
                        "ToolTipCode": "kafka.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "kafka.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "kafka.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "kafka.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "kafka.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2000,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "kafka.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "kafka.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "brokers",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Brokers list separated by comma",
                        "LabelCode": "kafka.brokers.label",
                        "ToolTip": "Brokers list separated by comma",
                        "ToolTipCode": "kafka.brokers.tooltip",
                        "Example": "one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "insecureSkipVerify",
                        "topic",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "username",
                        "password",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "insecureSkipVerify",
                        "topic",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Kafka SSL Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## Kafka SSL Gen 2 — Provider Schema

**Provider ID:** `kafka-ssl-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `heartbeatIntervalMs` | integer | Heartbeat Interval (ms) | No | `3000` | - |
| `metadataMaxAgeMs` | integer | Metadata Max Age (ms) | No | `300000` | - |
| `sessionTimeoutMs` | integer | Session Timeout (ms) | No | `10000` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `brokers` | string | Brokers list separated by comma | Yes | - | - |
| `dialTimeoutMs` | integer | Dial Timeout (ms) | No | `10000` | - |
| `fetchMaxWaitMs` | integer | Fetch Max Wait (ms) | No | `500` | - |
| `insecureSkipVerify` | boolean | Insecure Skip Verify | Yes | `False` | - |
| `produceRetries` | integer | Produce Retries | No | `2147483647` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `saslMechanism` | string | SASL mechanism | Yes | `SCRAM-SHA-256` | `NONE`, `SASL_PLAINTEXT`, `SCRAM-SHA-256`, `SCRAM-SHA-512` |
| `topic` | string | Topic | Yes | - | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `fetchMinBytes` | integer | Fetch Min Bytes | No | `1` | - |
| `maxPartitionBytes` | integer | Max Partition Bytes | No | `1048576` | - |
| `rebalanceTimeoutMs` | integer | Rebalance Timeout (ms) | No | `60000` | - |
| `writeTimeoutMs` | integer | Write Timeout (ms) | No | `10000` | - |
| `certificate` | string | Certificate | No | `` | - |
| `clientId` | string | Client ID | No | `go-client` | - |
| `metadataMinRefreshMs` | integer | Metadata Min Refresh (ms) | No | `100` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `privateKey` | string | Private key | No | `` | - |
| `producerBatchMaxBytes` | integer | Producer Batch Max Bytes | No | `1000000` | - |
| `producerLingerMs` | integer | Producer Linger (ms) | No | `5` | - |
| `readTimeoutMs` | integer | Read Timeout (ms) | No | `10000` | - |
| `connIdleTimeoutMs` | integer | Connection Idle Timeout (ms) | No | `540000` | - |
| `name` | string | Name | Yes | - | - |
| `password` | string | Password | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `requestTimeoutMs` | integer | Request Timeout (ms) | No | `30000` | - |
| `requiredAcks` | string | Required Acknowledgments | No | `all` | `none`, `leader`, `all` |
| `username` | string | Username | No | - | - |
| `disableIdempotentWrite` | boolean | Disable Idempotent Write | No | `False` | - |
| `fetchMaxBytes` | integer | Fetch Max Bytes | No | `52428800` | - |
| `maxMessageBytes` | integer | Max Message Bytes | No | `1000000` | - |
| `retryBackoffMs` | integer | Retry Backoff (ms) | No | `100` | - |
| `autoCreateTopic` | boolean | Auto create topic | No | `False` | - |
| `producerTimeoutMs` | integer | Producer Timeout (ms) | No | `30000` | - |
| `compressionType` | string | Compression Type | No | `none` | `none`, `gzip`, `snappy`, `lz4`, `zstd` |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "kafka-ssl-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/kafka-ssl.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "heartbeatIntervalMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 3000,
                        "Minimum": 0,
                        "Maximum": 60000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Heartbeat Interval (ms)",
                        "LabelCode": "kafka.heartbeatIntervalMs.label",
                        "ToolTip": "Consumer group heartbeat interval",
                        "ToolTipCode": "kafka.heartbeatIntervalMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "metadataMaxAgeMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 300000,
                        "Minimum": 0,
                        "Maximum": 3600000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Metadata Max Age (ms)",
                        "LabelCode": "kafka.metadataMaxAgeMs.label",
                        "ToolTip": "Maximum age of metadata before refresh",
                        "ToolTipCode": "kafka.metadataMaxAgeMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sessionTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Session Timeout (ms)",
                        "LabelCode": "kafka.sessionTimeoutMs.label",
                        "ToolTip": "Consumer group session timeout",
                        "ToolTipCode": "kafka.sessionTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 100000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "brokers",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Brokers list separated by comma",
                        "LabelCode": "kafka.brokers.label",
                        "ToolTip": "Brokers list separated by comma",
                        "ToolTipCode": "kafka.brokers.tooltip",
                        "Example": "one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "dialTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Dial Timeout (ms)",
                        "LabelCode": "kafka.dialTimeoutMs.label",
                        "ToolTip": "Connection establishment timeout",
                        "ToolTipCode": "kafka.dialTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "fetchMaxWaitMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 500,
                        "Minimum": 0,
                        "Maximum": 60000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Fetch Max Wait (ms)",
                        "LabelCode": "kafka.fetchMaxWaitMs.label",
                        "ToolTip": "Maximum time to wait for fetch requests",
                        "ToolTipCode": "kafka.fetchMaxWaitMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure Skip Verify",
                        "LabelCode": "kafka.insecureSkipVerify.label",
                        "ToolTip": "Insecure Skip Verify controls whether a client verifies the server's certificate chain and host name",
                        "ToolTipCode": "kafka.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "produceRetries",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2147483647,
                        "Minimum": 0,
                        "Maximum": 2147483647,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Produce Retries",
                        "LabelCode": "kafka.produceRetries.label",
                        "ToolTip": "Maximum number of retry attempts for failed requests",
                        "ToolTipCode": "kafka.produceRetries.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "saslMechanism",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "SCRAM-SHA-256",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "NONE",
                            "SASL_PLAINTEXT",
                            "SCRAM-SHA-256",
                            "SCRAM-SHA-512"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SASL mechanism",
                        "LabelCode": "kafka.sasl-mechanism.label",
                        "ToolTip": "SASL mechanism",
                        "ToolTipCode": "kafka.sasl-mechanism.tooltip",
                        "Example": "SCRAM-SHA-256",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Topic",
                        "LabelCode": "kafka.topic.label",
                        "ToolTip": "The topic name",
                        "ToolTipCode": "kafka.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "kafka.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "kafka.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "fetchMinBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Fetch Min Bytes",
                        "LabelCode": "kafka.fetchMinBytes.label",
                        "ToolTip": "Minimum bytes to fetch in each request",
                        "ToolTipCode": "kafka.fetchMinBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxPartitionBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1048576,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Max Partition Bytes",
                        "LabelCode": "kafka.maxPartitionBytes.label",
                        "ToolTip": "Maximum bytes to fetch per partition",
                        "ToolTipCode": "kafka.maxPartitionBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "rebalanceTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 60000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Rebalance Timeout (ms)",
                        "LabelCode": "kafka.rebalanceTimeoutMs.label",
                        "ToolTip": "Consumer group rebalance timeout",
                        "ToolTipCode": "kafka.rebalanceTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "writeTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Write Timeout (ms)",
                        "LabelCode": "kafka.writeTimeoutMs.label",
                        "ToolTip": "Write operation timeout",
                        "ToolTipCode": "kafka.writeTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "kafka.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "kafka.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "go-client",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "kafka.clientId.label",
                        "ToolTip": "Client identifier sent to Kafka brokers",
                        "ToolTipCode": "kafka.clientId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "metadataMinRefreshMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 0,
                        "Maximum": 60000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Metadata Min Refresh (ms)",
                        "LabelCode": "kafka.metadataMinRefreshMs.label",
                        "ToolTip": "Minimum time between metadata refreshes",
                        "ToolTipCode": "kafka.metadataMinRefreshMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "kafka.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "kafka.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "producerBatchMaxBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000000,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Producer Batch Max Bytes",
                        "LabelCode": "kafka.producerBatchMaxBytes.label",
                        "ToolTip": "Maximum size of producer batches in bytes",
                        "ToolTipCode": "kafka.producerBatchMaxBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "producerLingerMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": 0,
                        "Maximum": 10000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Producer Linger (ms)",
                        "LabelCode": "kafka.producerLingerMs.label",
                        "ToolTip": "Time to wait for additional messages before sending batch",
                        "ToolTipCode": "kafka.producerLingerMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "readTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Read Timeout (ms)",
                        "LabelCode": "kafka.readTimeoutMs.label",
                        "ToolTip": "Read operation timeout",
                        "ToolTipCode": "kafka.readTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connIdleTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 540000,
                        "Minimum": 0,
                        "Maximum": 3600000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Connection Idle Timeout (ms)",
                        "LabelCode": "kafka.connIdleTimeoutMs.label",
                        "ToolTip": "Maximum idle time before closing connections",
                        "ToolTipCode": "kafka.connIdleTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "kafka.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "kafka.name.tooltip",
                        "Example": "Kafka",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "kafka.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "kafka.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 30000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Request Timeout (ms)",
                        "LabelCode": "kafka.requestTimeoutMs.label",
                        "ToolTip": "Maximum time to wait for requests to complete",
                        "ToolTipCode": "kafka.requestTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requiredAcks",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "all",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "none",
                            "leader",
                            "all"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Required Acknowledgments",
                        "LabelCode": "kafka.requiredAcks.label",
                        "ToolTip": "Level of acknowledgment reliability (none=0, leader=1, all=-1)",
                        "ToolTipCode": "kafka.requiredAcks.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "kafka.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "kafka.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "disableIdempotentWrite",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Disable Idempotent Write",
                        "LabelCode": "kafka.disableIdempotentWrite.label",
                        "ToolTip": "Disable idempotent producer writes. When disabled, duplicate messages may be produced during retries.",
                        "ToolTipCode": "kafka.disableIdempotentWrite.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "fetchMaxBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 52428800,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Fetch Max Bytes",
                        "LabelCode": "kafka.fetchMaxBytes.label",
                        "ToolTip": "Maximum bytes to fetch in each request",
                        "ToolTipCode": "kafka.fetchMaxBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxMessageBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000000,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Max Message Bytes",
                        "LabelCode": "kafka.maxMessageBytes.label",
                        "ToolTip": "Maximum message size in bytes",
                        "ToolTipCode": "kafka.maxMessageBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "retryBackoffMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 0,
                        "Maximum": 10000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Retry Backoff (ms)",
                        "LabelCode": "kafka.retryBackoffMs.label",
                        "ToolTip": "Backoff time between retry attempts",
                        "ToolTipCode": "kafka.retryBackoffMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "autoCreateTopic",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auto create topic",
                        "LabelCode": "kafka.autoCreateTopic.label",
                        "ToolTip": "Enable automatic topic creation when the topic is not found, this also requires to enable auto create topic config on the Kafka broker.",
                        "ToolTipCode": "kafka.autoCreateTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "producerTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 30000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Producer Timeout (ms)",
                        "LabelCode": "kafka.producerTimeoutMs.label",
                        "ToolTip": "Maximum time to wait for producer response",
                        "ToolTipCode": "kafka.producerTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "compressionType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "none",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "none",
                            "gzip",
                            "snappy",
                            "lz4",
                            "zstd"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Compression Type",
                        "LabelCode": "kafka.compressionType.label",
                        "ToolTip": "Compression algorithm for message payloads",
                        "ToolTipCode": "kafka.compressionType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "insecureSkipVerify",
                        "topic",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "username",
                        "password",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "insecureSkipVerify",
                        "topic",
                        "autoCreateTopic",
                        "clientId",
                        "requestTimeoutMs",
                        "connIdleTimeoutMs",
                        "metadataMaxAgeMs",
                        "metadataMinRefreshMs",
                        "requiredAcks",
                        "disableIdempotentWrite",
                        "producerTimeoutMs",
                        "producerBatchMaxBytes",
                        "producerLingerMs",
                        "compressionType",
                        "maxMessageBytes",
                        "fetchMinBytes",
                        "fetchMaxBytes",
                        "fetchMaxWaitMs",
                        "maxPartitionBytes",
                        "sessionTimeoutMs",
                        "heartbeatIntervalMs",
                        "rebalanceTimeoutMs",
                        "retryBackoffMs",
                        "produceRetries",
                        "dialTimeoutMs",
                        "writeTimeoutMs",
                        "readTimeoutMs",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Kafka TCP

**POST** `{{edgeUrl}}/cc/v2`

## Kafka TCP — Provider Schema

**Provider ID:** `kafka-tcp`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `username` | string | Username | No | - | - |
| `password` | string | Password | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `saslMechanism` | string | SASL mechanism | Yes | `SCRAM-SHA-256` | `NONE`, `SASL_PLAINTEXT`, `SCRAM-SHA-256`, `SCRAM-SHA-512` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `2000` | - |
| `brokers` | string | Brokers list separated by comma | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `topic` | string | Topic | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "kafka-tcp"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/kafka-tcp.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "kafka.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "kafka.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "kafka.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "kafka.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "saslMechanism",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "SCRAM-SHA-256",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "NONE",
                            "SASL_PLAINTEXT",
                            "SCRAM-SHA-256",
                            "SCRAM-SHA-512"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SASL mechanism",
                        "LabelCode": "kafka.sasl-mechanism.label",
                        "ToolTip": "SASL mechanism",
                        "ToolTipCode": "kafka.sasl-mechanism.tooltip",
                        "Example": "SCRAM-SHA-256",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2000,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "kafka.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "kafka.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "brokers",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Brokers list separated by comma",
                        "LabelCode": "kafka.brokers.label",
                        "ToolTip": "Brokers list separated by comma",
                        "ToolTipCode": "kafka.brokers.tooltip",
                        "Example": "one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "kafka.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "kafka.name.tooltip",
                        "Example": "Kafka",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Topic",
                        "LabelCode": "kafka.topic.label",
                        "ToolTip": "The topic name",
                        "ToolTipCode": "kafka.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "topic",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "username",
                        "password",
                        "topic",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Kafka TCP Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## Kafka TCP Gen 2 — Provider Schema

**Provider ID:** `kafka-tcp-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `requiredAcks` | string | Required Acknowledgments | No | `all` | `none`, `leader`, `all` |
| `username` | string | Username | No | - | - |
| `writeTimeoutMs` | integer | Write Timeout (ms) | No | `10000` | - |
| `compressionType` | string | Compression Type | No | `none` | `none`, `gzip`, `snappy`, `lz4`, `zstd` |
| `disableIdempotentWrite` | boolean | Disable Idempotent Write | No | `False` | - |
| `producerTimeoutMs` | integer | Producer Timeout (ms) | No | `30000` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `topic` | string | Topic | Yes | - | - |
| `producerLingerMs` | integer | Producer Linger (ms) | No | `5` | - |
| `rebalanceTimeoutMs` | integer | Rebalance Timeout (ms) | No | `60000` | - |
| `metadataMaxAgeMs` | integer | Metadata Max Age (ms) | No | `300000` | - |
| `heartbeatIntervalMs` | integer | Heartbeat Interval (ms) | No | `3000` | - |
| `metadataMinRefreshMs` | integer | Metadata Min Refresh (ms) | No | `100` | - |
| `password` | string | Password | No | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `produceRetries` | integer | Produce Retries | No | `2147483647` | - |
| `saslMechanism` | string | SASL mechanism | Yes | `SCRAM-SHA-256` | `NONE`, `SASL_PLAINTEXT`, `SCRAM-SHA-256`, `SCRAM-SHA-512` |
| `clientId` | string | Client ID | No | `go-client` | - |
| `fetchMaxBytes` | integer | Fetch Max Bytes | No | `52428800` | - |
| `producerBatchMaxBytes` | integer | Producer Batch Max Bytes | No | `1000000` | - |
| `requestTimeoutMs` | integer | Request Timeout (ms) | No | `30000` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `dialTimeoutMs` | integer | Dial Timeout (ms) | No | `10000` | - |
| `fetchMinBytes` | integer | Fetch Min Bytes | No | `1` | - |
| `maxPartitionBytes` | integer | Max Partition Bytes | No | `1048576` | - |
| `name` | string | Name | Yes | - | - |
| `retryBackoffMs` | integer | Retry Backoff (ms) | No | `100` | - |
| `autoCreateTopic` | boolean | Auto create topic | No | `False` | - |
| `connIdleTimeoutMs` | integer | Connection Idle Timeout (ms) | No | `540000` | - |
| `readTimeoutMs` | integer | Read Timeout (ms) | No | `10000` | - |
| `sessionTimeoutMs` | integer | Session Timeout (ms) | No | `10000` | - |
| `brokers` | string | Brokers list separated by comma | Yes | - | - |
| `fetchMaxWaitMs` | integer | Fetch Max Wait (ms) | No | `500` | - |
| `maxMessageBytes` | integer | Max Message Bytes | No | `1000000` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "kafka-tcp-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/kafka-tcp.json",
            "Schema": "http://json-schema.org/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requiredAcks",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "all",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "none",
                            "leader",
                            "all"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Required Acknowledgments",
                        "LabelCode": "kafka.requiredAcks.label",
                        "ToolTip": "Level of acknowledgment reliability (none=0, leader=1, all=-1)",
                        "ToolTipCode": "kafka.requiredAcks.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "kafka.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "kafka.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "writeTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Write Timeout (ms)",
                        "LabelCode": "kafka.writeTimeoutMs.label",
                        "ToolTip": "Write operation timeout",
                        "ToolTipCode": "kafka.writeTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "compressionType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "none",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "none",
                            "gzip",
                            "snappy",
                            "lz4",
                            "zstd"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Compression Type",
                        "LabelCode": "kafka.compressionType.label",
                        "ToolTip": "Compression algorithm for message payloads",
                        "ToolTipCode": "kafka.compressionType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "disableIdempotentWrite",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Disable Idempotent Write",
                        "LabelCode": "kafka.disableIdempotentWrite.label",
                        "ToolTip": "Disable idempotent producer writes. When disabled, duplicate messages may be produced during retries.",
                        "ToolTipCode": "kafka.disableIdempotentWrite.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "producerTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 30000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Producer Timeout (ms)",
                        "LabelCode": "kafka.producerTimeoutMs.label",
                        "ToolTip": "Maximum time to wait for producer response",
                        "ToolTipCode": "kafka.producerTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Topic",
                        "LabelCode": "kafka.topic.label",
                        "ToolTip": "The topic name",
                        "ToolTipCode": "kafka.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "producerLingerMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": 0,
                        "Maximum": 10000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Producer Linger (ms)",
                        "LabelCode": "kafka.producerLingerMs.label",
                        "ToolTip": "Time to wait for additional messages before sending batch",
                        "ToolTipCode": "kafka.producerLingerMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "rebalanceTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 60000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Rebalance Timeout (ms)",
                        "LabelCode": "kafka.rebalanceTimeoutMs.label",
                        "ToolTip": "Consumer group rebalance timeout",
                        "ToolTipCode": "kafka.rebalanceTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "metadataMaxAgeMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 300000,
                        "Minimum": 0,
                        "Maximum": 3600000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Metadata Max Age (ms)",
                        "LabelCode": "kafka.metadataMaxAgeMs.label",
                        "ToolTip": "Maximum age of metadata before refresh",
                        "ToolTipCode": "kafka.metadataMaxAgeMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "heartbeatIntervalMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 3000,
                        "Minimum": 0,
                        "Maximum": 60000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Heartbeat Interval (ms)",
                        "LabelCode": "kafka.heartbeatIntervalMs.label",
                        "ToolTip": "Consumer group heartbeat interval",
                        "ToolTipCode": "kafka.heartbeatIntervalMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "metadataMinRefreshMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 0,
                        "Maximum": 60000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Metadata Min Refresh (ms)",
                        "LabelCode": "kafka.metadataMinRefreshMs.label",
                        "ToolTip": "Minimum time between metadata refreshes",
                        "ToolTipCode": "kafka.metadataMinRefreshMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "kafka.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "kafka.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "produceRetries",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2147483647,
                        "Minimum": 0,
                        "Maximum": 2147483647,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Produce Retries",
                        "LabelCode": "kafka.produceRetries.label",
                        "ToolTip": "Maximum number of retry attempts for failed requests",
                        "ToolTipCode": "kafka.produceRetries.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "saslMechanism",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "SCRAM-SHA-256",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "NONE",
                            "SASL_PLAINTEXT",
                            "SCRAM-SHA-256",
                            "SCRAM-SHA-512"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SASL mechanism",
                        "LabelCode": "kafka.sasl-mechanism.label",
                        "ToolTip": "SASL mechanism",
                        "ToolTipCode": "kafka.sasl-mechanism.tooltip",
                        "Example": "SCRAM-SHA-256",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "go-client",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "kafka.clientId.label",
                        "ToolTip": "Client identifier sent to Kafka brokers",
                        "ToolTipCode": "kafka.clientId.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "fetchMaxBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 52428800,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Fetch Max Bytes",
                        "LabelCode": "kafka.fetchMaxBytes.label",
                        "ToolTip": "Maximum bytes to fetch in each request",
                        "ToolTipCode": "kafka.fetchMaxBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "producerBatchMaxBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000000,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Producer Batch Max Bytes",
                        "LabelCode": "kafka.producerBatchMaxBytes.label",
                        "ToolTip": "Maximum size of producer batches in bytes",
                        "ToolTipCode": "kafka.producerBatchMaxBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 30000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Request Timeout (ms)",
                        "LabelCode": "kafka.requestTimeoutMs.label",
                        "ToolTip": "Maximum time to wait for requests to complete",
                        "ToolTipCode": "kafka.requestTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 100000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "dialTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Dial Timeout (ms)",
                        "LabelCode": "kafka.dialTimeoutMs.label",
                        "ToolTip": "Connection establishment timeout",
                        "ToolTipCode": "kafka.dialTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "fetchMinBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Fetch Min Bytes",
                        "LabelCode": "kafka.fetchMinBytes.label",
                        "ToolTip": "Minimum bytes to fetch in each request",
                        "ToolTipCode": "kafka.fetchMinBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxPartitionBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1048576,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Max Partition Bytes",
                        "LabelCode": "kafka.maxPartitionBytes.label",
                        "ToolTip": "Maximum bytes to fetch per partition",
                        "ToolTipCode": "kafka.maxPartitionBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "kafka.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "kafka.name.tooltip",
                        "Example": "Kafka",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "retryBackoffMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 0,
                        "Maximum": 10000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Retry Backoff (ms)",
                        "LabelCode": "kafka.retryBackoffMs.label",
                        "ToolTip": "Backoff time between retry attempts",
                        "ToolTipCode": "kafka.retryBackoffMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "autoCreateTopic",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auto create topic",
                        "LabelCode": "kafka.autoCreateTopic.label",
                        "ToolTip": "Enable automatic topic creation when the topic is not found, this also requires to enable auto create topic config on the Kafka broker.",
                        "ToolTipCode": "kafka.autoCreateTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connIdleTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 540000,
                        "Minimum": 0,
                        "Maximum": 3600000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Connection Idle Timeout (ms)",
                        "LabelCode": "kafka.connIdleTimeoutMs.label",
                        "ToolTip": "Maximum idle time before closing connections",
                        "ToolTipCode": "kafka.connIdleTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "readTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Read Timeout (ms)",
                        "LabelCode": "kafka.readTimeoutMs.label",
                        "ToolTip": "Read operation timeout",
                        "ToolTipCode": "kafka.readTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sessionTimeoutMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10000,
                        "Minimum": 0,
                        "Maximum": 300000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Session Timeout (ms)",
                        "LabelCode": "kafka.sessionTimeoutMs.label",
                        "ToolTip": "Consumer group session timeout",
                        "ToolTipCode": "kafka.sessionTimeoutMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "brokers",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Brokers list separated by comma",
                        "LabelCode": "kafka.brokers.label",
                        "ToolTip": "Brokers list separated by comma",
                        "ToolTipCode": "kafka.brokers.tooltip",
                        "Example": "one.litmus.pro:9094,two.litmus.pro:9094,three.litmus.pro:9094",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 1024,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "fetchMaxWaitMs",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 500,
                        "Minimum": 0,
                        "Maximum": 60000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Fetch Max Wait (ms)",
                        "LabelCode": "kafka.fetchMaxWaitMs.label",
                        "ToolTip": "Maximum time to wait for fetch requests",
                        "ToolTipCode": "kafka.fetchMaxWaitMs.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxMessageBytes",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000000,
                        "Minimum": 0,
                        "Maximum": 104857600,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": true,
                        "Label": "Max Message Bytes",
                        "LabelCode": "kafka.maxMessageBytes.label",
                        "ToolTip": "Maximum message size in bytes",
                        "ToolTipCode": "kafka.maxMessageBytes.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "topic",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "brokers",
                        "saslMechanism",
                        "username",
                        "password",
                        "topic",
                        "autoCreateTopic",
                        "clientId",
                        "requestTimeoutMs",
                        "connIdleTimeoutMs",
                        "metadataMaxAgeMs",
                        "metadataMinRefreshMs",
                        "requiredAcks",
                        "disableIdempotentWrite",
                        "producerTimeoutMs",
                        "producerBatchMaxBytes",
                        "producerLingerMs",
                        "compressionType",
                        "maxMessageBytes",
                        "fetchMinBytes",
                        "fetchMaxBytes",
                        "fetchMaxWaitMs",
                        "maxPartitionBytes",
                        "sessionTimeoutMs",
                        "heartbeatIntervalMs",
                        "rebalanceTimeoutMs",
                        "retryBackoffMs",
                        "produceRetries",
                        "dialTimeoutMs",
                        "writeTimeoutMs",
                        "readTimeoutMs",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Litmus UNS

**POST** `{{edgeUrl}}/cc/v2`

## Litmus UNS — Provider Schema

**Provider ID:** `litmus-uns`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `UNSClientID` | string | MQTT Client ID | No | `` | - |
| `UNSHierarchy` | string | UNS Hierarchy | No | `` | - |
| `insecureSkipVerify` | boolean | Insecure skip verify | No | `False` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `token` | string | Litmus UNS Token | No | `` | - |
| `workersCount` | integer | Parallel Publish Count | No | `100` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "litmus-uns"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/litmusuns.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "UNSClientID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": false,
                        "Advanced": null,
                        "Label": "MQTT Client ID",
                        "LabelCode": "litmusuns.clientId.label",
                        "ToolTip": "Litmus UNS MQTT Client ID",
                        "ToolTipCode": "litmusuns.clientId.tooltip",
                        "Example": "",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "UNSHierarchy",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": true,
                        "Advanced": null,
                        "Label": "UNS Hierarchy",
                        "LabelCode": "litmusuns.UNSHierarchy.label",
                        "ToolTip": "UNS Hierarchy levels info",
                        "ToolTipCode": "litmusuns.UNSHierarchy.tooltip",
                        "Example": "",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure skip verify",
                        "LabelCode": "litmusuns.insecureSkipVerify.label",
                        "ToolTip": "Insecure skip verify",
                        "ToolTipCode": "litmusuns.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "jsonConfig",
                    "Value": {
                        "Type": "string",
                        "Hidden": true,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": true,
                        "Advanced": null,
                        "Label": "MQTT Config",
                        "LabelCode": "litmusuns.jsonConfig.label",
                        "ToolTip": "MQTT connection info",
                        "ToolTipCode": "litmusuns.jsonConfig.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "token",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Litmus UNS Token",
                        "LabelCode": "litmusuns.token.label",
                        "ToolTip": "Base64 one-time Token to access Litmus UNS endpoint",
                        "ToolTipCode": "litmusuns.token.tooltip",
                        "Example": "",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "litmusuns.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "litmusuns.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "litmusuns.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "litmusuns.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "litmusuns.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "litmusuns.name.tooltip",
                        "Example": "Litmus UNS",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "litmusuns.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "litmusuns.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name"
                    ],
                    "Order": [
                        "name",
                        "workersCount",
                        "UNSClientID",
                        "insecureSkipVerify",
                        "caCert",
                        "UNSHierarchy",
                        "token",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - Generic

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - Generic — Provider Schema

**Provider ID:** `generic-mqtt-tcp`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `clientId` | string | Client ID | No | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `password` | string | Password | No | - | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `name` | string | Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `port` | integer | Port | No | `1883` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `topic` | string | Integration Topic | No | - | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `username` | string | Username | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willTopic` | string | LWT topic | No | - | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "generic-mqtt-tcp"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/generic-mqtt-tcp.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "generic.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "generic.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "generic.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "generic.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "generic.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "generic.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "generic.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "generic.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "generic.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "generic.name.tooltip",
                        "Example": "Generic MQTT",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "generic.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "generic.port.tooltip",
                        "Example": "1883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "generic.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "generic.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "generic.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "generic.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "generic.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "generic.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "generic.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "generic.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "generic.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "generic.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "generic.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "generic.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "generic.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "generic.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "clientId",
                        "username",
                        "password",
                        "qos",
                        "workersCount",
                        "topic",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - Generic Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - Generic Gen 2 — Provider Schema

**Provider ID:** `generic-mqtt-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `privateKey` | string | Private key | No | `` | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `certificate` | string | Certificate | No | `` | - |
| `password` | string | Password | No | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `willPayload` | string | LWT payload | No | - | - |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `willTopic` | string | LWT topic | No | - | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `connectionType` | string | Connection Type | Yes | `tcp` | `tcp`, `ssl` |
| `hostname` | string | Hostname | Yes | - | - |
| `username` | string | Username | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `clientId` | string | Client ID | No | - | - |
| `name` | string | Name | Yes | - | - |
| `pingTimeout` | integer | Ping Timeout (seconds) | No | `7` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `port` | integer | Port | No | `1883` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "generic-mqtt-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/generic-mqtt-tcp.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "generic.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "generic.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": [
                            {
                                "FieldName": "connectionType",
                                "FieldValues": [
                                    "ssl"
                                ],
                                "Criteria": "NONE",
                                "GroupNumber": 0
                            }
                        ]
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "generic.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "generic.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "generic.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "generic.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "generic.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "generic.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": [
                            {
                                "FieldName": "connectionType",
                                "FieldValues": [
                                    "ssl"
                                ],
                                "Criteria": "NONE",
                                "GroupNumber": 0
                            }
                        ]
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "generic.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "generic.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "generic.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "generic.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "generic.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "generic.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "generic.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "generic.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "generic.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "generic.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "generic.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "generic.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": [
                            {
                                "FieldName": "connectionType",
                                "FieldValues": [
                                    "ssl"
                                ],
                                "Criteria": "NONE",
                                "GroupNumber": 0
                            }
                        ]
                    }
                },
                {
                    "Key": "connectionType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "tcp",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "tcp",
                            "ssl"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Connection Type",
                        "LabelCode": "generic.connectionType.label",
                        "ToolTip": "MQTT Connection type",
                        "ToolTipCode": "generic.connectionType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "generic.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "generic.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "generic.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "generic.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "generic.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "generic.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "generic.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "generic.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "generic.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "generic.name.tooltip",
                        "Example": "Generic MQTT",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "pingTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 7,
                        "Minimum": 3,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Ping Timeout (seconds)",
                        "LabelCode": "generic.pingTimeout.label",
                        "ToolTip": "The time a client waits for a ping response from the broker after sending a PINGREQ message",
                        "ToolTipCode": "generic.pingTimeout.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "generic.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "generic.port.tooltip",
                        "Example": "1883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "workersCount",
                        "topic",
                        "connectionType"
                    ],
                    "Order": [
                        "name",
                        "connectionType",
                        "hostname",
                        "port",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "clientId",
                        "username",
                        "password",
                        "qos",
                        "workersCount",
                        "topic",
                        "pingTimeout",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - Generic over SSL

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - Generic over SSL — Provider Schema

**Provider ID:** `generic-mqtt-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `caCert` | string | CA Certificate | No | `` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | No | `8883` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `topic` | string | Integration Topic | No | - | - |
| `willTopic` | string | LWT topic | No | - | - |
| `certificate` | string | Certificate | No | `` | - |
| `name` | string | Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `privateKey` | string | Private key | No | `` | - |
| `clientId` | string | Client ID | No | - | - |
| `password` | string | Password | No | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `username` | string | Username | No | - | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "generic-mqtt-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/generic-mqtt-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "generic.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "generic.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "generic.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "generic.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "generic.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "generic.port.tooltip",
                        "Example": "8883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "generic.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "generic.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "generic.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "generic.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "generic.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "generic.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "generic.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "generic.name.tooltip",
                        "Example": "Generic MQTT",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "generic.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "generic.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "generic.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "generic.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "generic.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "generic.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "generic.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "generic.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "generic.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "generic.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "generic.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "generic.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "generic.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "generic.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "generic.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "generic.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "generic.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "generic.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "clientId",
                        "username",
                        "password",
                        "qos",
                        "workersCount",
                        "topic",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - v5 Generic Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - v5 Generic Gen 2 — Provider Schema

**Provider ID:** `generic-mqtt-v5-tcp-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `connectionTimeout` | integer | Connection Timeout | No | `10` | - |
| `payloadFormat` | string | Payload Format Indicator | No | `utf-8` | `utf-8`, `byte` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `name` | string | Name | Yes | - | - |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `responseTopic` | string | Response Topic | No | - | - |
| `keepAlive` | integer | Keep Alive | No | `60` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `sessionExpiryInterval` | integer | Session Expiry Interval (seconds) | No | `0` | - |
| `willDelay` | integer | Will Delay Interval | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `port` | integer | Port | Yes | `1883` | - |
| `topicAlias` | integer | Topic Alias Maximum | No | `7` | - |
| `contentType` | string | Content type | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `userProperties` | object | User Properties | No | - | - |
| `willPayload` | string | LWT payload | No | - | - |
| `password` | string | Password | No | - | - |
| `username` | string | Username | No | - | - |
| `clientId` | string | Client ID | No | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `requestResponseInfo` | boolean | Request Response Info | No | `False` | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `willTopic` | string | LWT topic | No | - | - |
| `messageExpiryInterval` | integer | Message Expiry Interval | No | `0` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `requestProblemInfo` | boolean | Request Problem Info | No | `False` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "generic-mqtt-v5-tcp-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/generic-mqtt-tcp.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "connectionTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10,
                        "Minimum": 10,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Connection Timeout",
                        "LabelCode": "generic.connectionTimeout.label",
                        "ToolTip": "How long to wait for the connection process to complete in seconds",
                        "ToolTipCode": "generic.connectionTimeout.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "payloadFormat",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "utf-8",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "utf-8",
                            "byte"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Payload Format Indicator",
                        "LabelCode": "generic.payloadFormat.label",
                        "ToolTip": "Allowing the server to understand packet without having to operate on the actual data",
                        "ToolTipCode": "generic.payloadFormat.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "generic.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "generic.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "generic.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "generic.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "generic.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "generic.name.tooltip",
                        "Example": "Generic MQTT",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "generic.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "generic.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "responseTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Response Topic",
                        "LabelCode": "generic.responseTopic.label",
                        "ToolTip": "Default Response topic",
                        "ToolTipCode": "generic.responseTopic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "keepAlive",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 60,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Keep Alive",
                        "LabelCode": "generic.keepAlive.label",
                        "ToolTip": "Ensure that client remains connected to the broker and maintains an active session",
                        "ToolTipCode": "generic.keepAlive.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sessionExpiryInterval",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Session Expiry Interval (seconds)",
                        "LabelCode": "generic.sessionExpiryInterval.label",
                        "ToolTip": "The number that specifies how long a broker keeps a client's session information",
                        "ToolTipCode": "generic.sessionExpiryInterval.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willDelay",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Will Delay Interval",
                        "LabelCode": "generic.willDelay.label",
                        "ToolTip": "Add the ability to specify a delay between the end of the connection and sending the will message",
                        "ToolTipCode": "generic.willDelay.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "generic.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "generic.port.tooltip",
                        "Example": "1883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topicAlias",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 7,
                        "Minimum": 1,
                        "Maximum": 7,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Topic Alias Maximum",
                        "LabelCode": "generic.topicAlias.label",
                        "ToolTip": "Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer",
                        "ToolTipCode": "generic.topicAlias.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "contentType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Content type",
                        "LabelCode": "generic.contentType.label",
                        "ToolTip": "MQTT content type",
                        "ToolTipCode": "generic.contentType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "userProperties",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "User Properties",
                        "LabelCode": "generic.userProperties.label",
                        "ToolTip": "The user properties to most packets",
                        "ToolTipCode": "generic.userProperties.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "generic.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "generic.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "generic.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "generic.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "generic.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "generic.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "generic.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "generic.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "generic.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "generic.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestResponseInfo",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request Response Info",
                        "LabelCode": "generic.requestResponseInfo.label",
                        "ToolTip": "Request Response Info",
                        "ToolTipCode": "generic.requestResponseInfo.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "generic.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "generic.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "generic.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "generic.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "generic.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "generic.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "messageExpiryInterval",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 4294967295,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Message Expiry Interval",
                        "LabelCode": "generic.messageExpiryInterval.label",
                        "ToolTip": "Allow an expiry interval to be set when a message is published",
                        "ToolTipCode": "generic.messageExpiryInterval.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestProblemInfo",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request Problem Info",
                        "LabelCode": "generic.requestProblemInfo.label",
                        "ToolTip": "Request Problem Info",
                        "ToolTipCode": "generic.requestProblemInfo.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "workersCount",
                        "topic"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "clientId",
                        "username",
                        "password",
                        "qos",
                        "workersCount",
                        "topic",
                        "responseTopic",
                        "keepAlive",
                        "connectionTimeout",
                        "payloadFormat",
                        "contentType",
                        "topicAlias",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "willDelay",
                        "sessionExpiryInterval",
                        "messageExpiryInterval",
                        "userProperties",
                        "requestResponseInfo",
                        "requestProblemInfo",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - MQTT - v5 Generic over SSL Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## MQTT - v5 Generic over SSL Gen 2 — Provider Schema

**Provider ID:** `generic-mqtt-v5-ssl-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `topicAlias` | integer | Topic Alias Maximum | No | `7` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `requestProblemInfo` | boolean | Request Problem Info | No | `False` | - |
| `sessionExpiryInterval` | integer | Session Expiry Interval (seconds) | No | `0` | - |
| `willPayload` | string | LWT payload | No | - | - |
| `willPayloadType` | string | LWT payload type | No | `string` | `string`, `base64` |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `insecureVerify` | boolean | Insecure Skip Verify | No | `False` | - |
| `certificate` | string | Certificate | No | `` | - |
| `messageExpiryInterval` | integer | Message Expiry Interval | No | `0` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `requestResponseInfo` | boolean | Request Response Info | No | `False` | - |
| `willDelay` | integer | Will Delay Interval | No | `0` | - |
| `willQoS` | integer | LWT QoS | No | `1` | `0`, `1`, `2` |
| `clientId` | string | Client ID | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `responseTopic` | string | Response Topic | No | - | - |
| `username` | string | Username | No | - | - |
| `willRetained` | boolean | LWT retained | No | `False` | - |
| `willTopic` | string | LWT topic | No | - | - |
| `payloadFormat` | string | Payload Format Indicator | No | `utf-8` | `utf-8`, `byte` |
| `qos` | integer | QoS | No | `1` | `0`, `1`, `2` |
| `privateKey` | string | Private key | No | `` | - |
| `topic` | string | Integration Topic | Yes | - | - |
| `userProperties` | object | User Properties | No | - | - |
| `keepAlive` | integer | Keep Alive | No | `60` | - |
| `password` | string | Password | No | - | - |
| `port` | integer | Port | Yes | `8883` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `connectionTimeout` | integer | Connection Timeout | No | `10` | - |
| `contentType` | string | Content type | No | - | - |
| `name` | string | Name | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "generic-mqtt-v5-ssl-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/generic-mqtt-tcp.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topicAlias",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 7,
                        "Minimum": 1,
                        "Maximum": 7,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Topic Alias Maximum",
                        "LabelCode": "generic.topicAlias.label",
                        "ToolTip": "Decrease the size of the MQTT packet overhead by allowing the topic name to be abbreviated to a small integer",
                        "ToolTipCode": "generic.topicAlias.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "generic.hostname.label",
                        "ToolTip": "DNS name of MQTT host.",
                        "ToolTipCode": "generic.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestProblemInfo",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request Problem Info",
                        "LabelCode": "generic.requestProblemInfo.label",
                        "ToolTip": "Request Problem Info",
                        "ToolTipCode": "generic.requestProblemInfo.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sessionExpiryInterval",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Session Expiry Interval (seconds)",
                        "LabelCode": "generic.sessionExpiryInterval.label",
                        "ToolTip": "The number that specifies how long a broker keeps a client's session information",
                        "ToolTipCode": "generic.sessionExpiryInterval.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayload",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload",
                        "LabelCode": "generic.willPayload.label",
                        "ToolTip": "MQTT LWT payload",
                        "ToolTipCode": "generic.willPayload.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willPayloadType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "string",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "string",
                            "base64"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT payload type",
                        "LabelCode": "generic.willPayloadType.label",
                        "ToolTip": "MQTT LWT payload type",
                        "ToolTipCode": "generic.willPayloadType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure Skip Verify",
                        "LabelCode": "generic.insecureSkipVerify.label",
                        "ToolTip": "InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name",
                        "ToolTipCode": "generic.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "generic.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "generic.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "messageExpiryInterval",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 4294967295,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Message Expiry Interval",
                        "LabelCode": "generic.messageExpiryInterval.label",
                        "ToolTip": "Allow an expiry interval to be set when a message is published",
                        "ToolTipCode": "generic.messageExpiryInterval.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestResponseInfo",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request Response Info",
                        "LabelCode": "generic.requestResponseInfo.label",
                        "ToolTip": "Request Response Info",
                        "ToolTipCode": "generic.requestResponseInfo.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willDelay",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Will Delay Interval",
                        "LabelCode": "generic.willDelay.label",
                        "ToolTip": "Add the ability to specify a delay between the end of the connection and sending the will message",
                        "ToolTipCode": "generic.willDelay.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willQoS",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT QoS",
                        "LabelCode": "generic.willQoS.label",
                        "ToolTip": "MQTT LWT QoS attribute.",
                        "ToolTipCode": "generic.willQoS.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "clientId",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Client ID",
                        "LabelCode": "generic.clientId.label",
                        "ToolTip": "Client ID is required by MQTT server.",
                        "ToolTipCode": "generic.clientId.tooltip",
                        "Example": "5dlvtw2sbbn4hqltaecpit115",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "responseTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Response Topic",
                        "LabelCode": "generic.responseTopic.label",
                        "ToolTip": "Default Response topic",
                        "ToolTipCode": "generic.responseTopic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "generic.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "generic.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willRetained",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT retained",
                        "LabelCode": "generic.willRetained.label",
                        "ToolTip": "MQTT LWT retained",
                        "ToolTipCode": "generic.willRetained.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "willTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "LWT topic",
                        "LabelCode": "generic.willTopic.label",
                        "ToolTip": "MQTT LWT topic",
                        "ToolTipCode": "generic.willTopic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "payloadFormat",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "utf-8",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "utf-8",
                            "byte"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Payload Format Indicator",
                        "LabelCode": "generic.payloadFormat.label",
                        "ToolTip": "Allowing the server to understand packet without having to operate on the actual data",
                        "ToolTipCode": "generic.payloadFormat.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "qos",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            0,
                            1,
                            2
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "QoS",
                        "LabelCode": "generic.qos.label",
                        "ToolTip": "MQTT QoS attribute.",
                        "ToolTipCode": "generic.qos.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "generic.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "generic.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Integration Topic",
                        "LabelCode": "generic.topic.label",
                        "ToolTip": "MQTT topic",
                        "ToolTipCode": "generic.topic.tooltip",
                        "Example": "loop/data/5dlvtw2sbbn4hqltaecpit115/218zg9xqseuxr87zkkstoyaoz/json",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "userProperties",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "User Properties",
                        "LabelCode": "generic.userProperties.label",
                        "ToolTip": "The user properties to most packets",
                        "ToolTipCode": "generic.userProperties.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "keepAlive",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 60,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Keep Alive",
                        "LabelCode": "generic.keepAlive.label",
                        "ToolTip": "Ensure that client remains connected to the broker and maintains an active session in seconds",
                        "ToolTipCode": "generic.keepAlive.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "generic.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "generic.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8883,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "generic.port.label",
                        "ToolTip": "Port of MQTT host.",
                        "ToolTipCode": "generic.port.tooltip",
                        "Example": "1883",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "generic.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "generic.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connectionTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10,
                        "Minimum": 10,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Connection Timeout",
                        "LabelCode": "generic.connectionTimeout.label",
                        "ToolTip": "How long to wait for the connection process to complete in seconds",
                        "ToolTipCode": "generic.connectionTimeout.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "contentType",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Content type",
                        "LabelCode": "generic.contentType.label",
                        "ToolTip": "MQTT content type",
                        "ToolTipCode": "generic.contentType.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "generic.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "generic.name.tooltip",
                        "Example": "Generic MQTT",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "workersCount",
                        "port",
                        "topic"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "insecureVerify",
                        "clientId",
                        "username",
                        "password",
                        "qos",
                        "workersCount",
                        "topic",
                        "responseTopic",
                        "keepAlive",
                        "connectionTimeout",
                        "payloadFormat",
                        "contentType",
                        "topicAlias",
                        "willTopic",
                        "willPayload",
                        "willPayloadType",
                        "willQoS",
                        "willRetained",
                        "willDelay",
                        "sessionExpiryInterval",
                        "messageExpiryInterval",
                        "userProperties",
                        "requestResponseInfo",
                        "requestProblemInfo",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - DB - MongoDB

**POST** `{{edgeUrl}}/cc/v2`

## DB - MongoDB — Provider Schema

**Provider ID:** `mongodb`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `database` | string | Database | Yes | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `name` | string | Name | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `port` | integer | Port | Yes | `27017` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | No | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `collection` | string | Collection | Yes | - | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `mapping` | object | Mapping | No | - | - |
| `password` | string | Password | No | - | - |
| `authDatabase` | string | Auth database | No | `admin` | - |
| `authMechanism` | string | Auth mechanism | No | `SCRAM-SHA-1` | `SCRAM-SHA-1`, `MONGODB-CR`, `MONGO-CR`, `PLAIN`, `MONGODB-X509` |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "mongodb"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/mongodb.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "mongodb.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "mongodb.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "mongodb.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "mongodb.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "mongodb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "mongodb.name.tooltip",
                        "Example": "MongoDB",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 27017,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "mongodb.port.label",
                        "ToolTip": "Port of MongoDB host.",
                        "ToolTipCode": "mongodb.port.tooltip",
                        "Example": 27017,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "mongodb.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "mongodb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "collection",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Collection",
                        "LabelCode": "mongodb.collection.label",
                        "ToolTip": "The collection",
                        "ToolTipCode": "mongodb.collection.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "mongodb.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "mongodb.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "mongodb.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "mongodb.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "mongodb.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "mongodb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "authDatabase",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "admin",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auth database",
                        "LabelCode": "mongodb.auth_database.label",
                        "ToolTip": "The authentication database name",
                        "ToolTipCode": "mongodb.auth_database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "authMechanism",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "SCRAM-SHA-1",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "SCRAM-SHA-1",
                            "MONGODB-CR",
                            "MONGO-CR",
                            "PLAIN",
                            "MONGODB-X509"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auth mechanism",
                        "LabelCode": "mongodb.authMechanism.label",
                        "ToolTip": "The mechanisms to confirm an identity and establish trust to ensure security in the driver and server before connecting",
                        "ToolTipCode": "mongodb.authMechanism.tooltip",
                        "Example": "SCRAM-SHA-1",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "mongodb.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "mongodb.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "database",
                        "collection"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "authDatabase",
                        "authMechanism",
                        "database",
                        "collection",
                        "mapping",
                        "commitTimeout",
                        "maxTransactionSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - MongoDB v4+

**POST** `{{edgeUrl}}/cc/v2`

## DB - MongoDB v4+ — Provider Schema

**Provider ID:** `mongodb-v4`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `authDatabase` | string | Auth database | No | `admin` | - |
| `collection` | string | Collection | Yes | - | - |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `authMechanism` | string | Auth mechanism | No | `SCRAM-SHA-1` | `SCRAM-SHA-1`, `MONGODB-CR`, `MONGO-CR`, `PLAIN`, `MONGODB-X509` |
| `name` | string | Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `port` | integer | Port | Yes | `27017` | - |
| `username` | string | Username | No | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `mapping` | object | Mapping | No | - | - |
| `password` | string | Password | No | - | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `database` | string | Database | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "mongodb-v4"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/mongodb-v4.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "authDatabase",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "admin",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auth database",
                        "LabelCode": "mongodb.auth_database.label",
                        "ToolTip": "The authentication database name",
                        "ToolTipCode": "mongodb.auth_database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "collection",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Collection",
                        "LabelCode": "mongodb.collection.label",
                        "ToolTip": "The collection",
                        "ToolTipCode": "mongodb.collection.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "mongodb.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "mongodb.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "authMechanism",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "SCRAM-SHA-1",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "SCRAM-SHA-1",
                            "MONGODB-CR",
                            "MONGO-CR",
                            "PLAIN",
                            "MONGODB-X509"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Auth mechanism",
                        "LabelCode": "mongodb.authMechanism.label",
                        "ToolTip": "The mechanisms to confirm an identity and establish trust to ensure security in the driver and server before connecting",
                        "ToolTipCode": "mongodb.authMechanism.tooltip",
                        "Example": "SCRAM-SHA-1",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "mongodb.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "mongodb.name.tooltip",
                        "Example": "MongoDB",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 27017,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "mongodb.port.label",
                        "ToolTip": "Port of MongoDB host.",
                        "ToolTipCode": "mongodb.port.tooltip",
                        "Example": 27017,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "mongodb.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "mongodb.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "mongodb.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "mongodb.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "mongodb.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "mongodb.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "mongodb.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "mongodb.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "mongodb.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "mongodb.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "mongodb.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "mongodb.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "database",
                        "collection"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "authDatabase",
                        "authMechanism",
                        "database",
                        "collection",
                        "mapping",
                        "commitTimeout",
                        "maxTransactionSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - NATS

**POST** `{{edgeUrl}}/cc/v2`

## NATS — Provider Schema

**Provider ID:** `nats`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `topic` | string | Default topic name | Yes | - | - |
| `username` | string | NATS Username | No | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `enableTLS` | boolean | Enable TLS secure connection | Yes | `False` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `insecureSkipVerify` | boolean | Insecure skip verify | No | `False` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `port` | integer | Port | Yes | `4222` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `name` | string | Name | Yes | - | - |
| `password` | string | NATS Password | No | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "nats"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/nats.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Default topic name",
                        "LabelCode": "nats.topic.label",
                        "ToolTip": "Default topic name",
                        "ToolTipCode": "nats.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "NATS Username",
                        "LabelCode": "nats.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "nats.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "enableTLS",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Enable TLS secure connection",
                        "LabelCode": "nats.enableTLS.label",
                        "ToolTip": "Enable TLS secure connection",
                        "ToolTipCode": "nats.enableTLS.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "nats.hostname.label",
                        "ToolTip": "Hostname",
                        "ToolTipCode": "nats.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure skip verify",
                        "LabelCode": "nats.insecureSkipVerify.label",
                        "ToolTip": "InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.",
                        "ToolTipCode": "nats.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 4222,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "nats.port.label",
                        "ToolTip": "Port of NATS host.",
                        "ToolTipCode": "nats.port.tooltip",
                        "Example": "4222",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "nats.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "nats.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "NATS Password",
                        "LabelCode": "nats.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "nats.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "topic",
                        "enableTLS"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "topic",
                        "enableTLS",
                        "insecureSkipVerify",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - NATS Gen 2

**POST** `{{edgeUrl}}/cc/v2`

## NATS Gen 2 — Provider Schema

**Provider ID:** `nats-gen-2`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `maxReconnect` | integer | Max Reconnect | No | `5` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `username` | string | NATS Username | No | - | - |
| `enableTLS` | boolean | Enable TLS secure connection | Yes | `False` | - |
| `flushTimeoutSeconds` | integer | Flush timeout (second) | No | `2` | - |
| `name` | string | Name | Yes | - | - |
| `reconnectWait` | integer | Reconnect wait (second) | No | `2` | - |
| `topic` | string | Default topic name | Yes | - | - |
| `password` | string | NATS Password | No | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `connectTimeoutSeconds` | integer | Connect timeout (second) | No | `2` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | Yes | `4222` | - |
| `insecureSkipVerify` | boolean | Insecure skip verify | No | `False` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "nats-gen-2"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/nats.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "maxReconnect",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5,
                        "Minimum": -1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max Reconnect",
                        "LabelCode": "nats.maxReconnect.label",
                        "ToolTip": "MaxReconnect sets the number of reconnect attempts that will be tried before giving up. If negative, then it will never give up trying to reconnect, If zero, then will use default value (5)",
                        "ToolTipCode": "nats.maxReconnect.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "NATS Username",
                        "LabelCode": "nats.username.label",
                        "ToolTip": "Username",
                        "ToolTipCode": "nats.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "enableTLS",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Enable TLS secure connection",
                        "LabelCode": "nats.enableTLS.label",
                        "ToolTip": "Enable TLS secure connection",
                        "ToolTipCode": "nats.enableTLS.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "flushTimeoutSeconds",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2,
                        "Minimum": 1,
                        "Maximum": 300,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Flush timeout (second)",
                        "LabelCode": "nats.flushTimeoutSeconds.label",
                        "ToolTip": "Timeout for flushing buffered messages to the server during publish operations",
                        "ToolTipCode": "nats.flushTimeoutSeconds.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "nats.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "nats.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "reconnectWait",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Reconnect wait (second)",
                        "LabelCode": "nats.reconnectWait.label",
                        "ToolTip": "ReconnectWait sets the time to backoff after attempting a reconnect to a server that we were already connected to previously",
                        "ToolTipCode": "nats.reconnectWait.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Default topic name",
                        "LabelCode": "nats.topic.label",
                        "ToolTip": "Default topic name",
                        "ToolTipCode": "nats.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "NATS Password",
                        "LabelCode": "nats.password.label",
                        "ToolTip": "Password",
                        "ToolTipCode": "nats.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 100000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "connectTimeoutSeconds",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 2,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Connect timeout (second)",
                        "LabelCode": "nats.connectTimeoutSeconds.label",
                        "ToolTip": "Timeout sets the timeout for a Dial operation on a connection",
                        "ToolTipCode": "nats.connectTimeoutSeconds.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "nats.hostname.label",
                        "ToolTip": "Hostname",
                        "ToolTipCode": "nats.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 4222,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "nats.port.label",
                        "ToolTip": "Port of NATS host.",
                        "ToolTipCode": "nats.port.tooltip",
                        "Example": "4222",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure skip verify",
                        "LabelCode": "nats.insecureSkipVerify.label",
                        "ToolTip": "InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.",
                        "ToolTipCode": "nats.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "topic",
                        "enableTLS",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "topic",
                        "workersCount",
                        "enableTLS",
                        "insecureSkipVerify",
                        "maxReconnect",
                        "reconnectWait",
                        "connectTimeoutSeconds",
                        "flushTimeoutSeconds",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": null
        }
    }
}
```

---

## Provider Schema - Oracle Smart Operations in Fusion Cloud SCM

**POST** `{{edgeUrl}}/cc/v2`

## Oracle Smart Operations in Fusion Cloud SCM — Provider Schema

**Provider ID:** `rest-oracle-smart-operations-fusion`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `name` | string | Name | Yes | - | - |
| `requestTimeout` | integer | Request timeout | No | `10` | - |
| `responseTopic` | string | Response Topic | No | - | - |
| `endpoint` | string | Endpoint | Yes | - | - |
| `mapping` | object | Mapping | No | - | - |
| `oAuth2ClientSecret` | string | OAuth2 - Client Secret | Yes | - | - |
| `oAuth2TokenEndpoint` | string | OAuth2 - Token Endpoint | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `insecureSkipVerify` | boolean | Insecure skip verify | No | `True` | - |
| `method` | string | Method | Yes | `POST` | `POST` |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `headers` | object | Headers | No | - | - |
| `oAuth2ClientID` | string | OAuth2 - Client ID | Yes | - | - |
| `oAuth2Scope` | string | OAuth2 - Scope | No | - | - |
| `params` | object | Params | No | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "rest-oracle-smart-operations-fusion"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/rest.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 10,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "rest.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "rest.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "rest.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "rest.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request timeout",
                        "LabelCode": "rest.requestTimeout.label",
                        "ToolTip": "Request timeout in seconds",
                        "ToolTipCode": "rest.requestTimeout.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "responseTopic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Response Topic",
                        "LabelCode": "rest.responseTopic.label",
                        "ToolTip": "Nats response topic payload for All requests",
                        "ToolTipCode": "rest.responseTopic.tooltip",
                        "Example": "/response_topic",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "endpoint",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Endpoint",
                        "LabelCode": "rest.endpoint.label",
                        "ToolTip": "Endpoint",
                        "ToolTipCode": "rest.endpoint.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "rest.mapping.label",
                        "ToolTip": "The mapping",
                        "ToolTipCode": "rest.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2ClientSecret",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Client Secret",
                        "LabelCode": "rest.oauth2.clientSecret.label",
                        "ToolTip": "OAuth2 - Client Secret Key",
                        "ToolTipCode": "rest.oauth2.clientSecret.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2TokenEndpoint",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Token Endpoint",
                        "LabelCode": "rest.oauth2.tokenEndpoint.label",
                        "ToolTip": "OAuth2 - Token Endpoint URL",
                        "ToolTipCode": "rest.oauth2.tokenEndpoint.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure skip verify",
                        "LabelCode": "rest.insecureSkipVerify.label",
                        "ToolTip": "InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.",
                        "ToolTipCode": "rest.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "method",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "POST",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "POST"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Method",
                        "LabelCode": "rest.method.label",
                        "ToolTip": "Method (Oracle Fusion Cloud supports POST only)",
                        "ToolTipCode": "rest.method.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "headers",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Headers",
                        "LabelCode": "rest.headers.label",
                        "ToolTip": "The request headers",
                        "ToolTipCode": "rest.headers.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2ClientID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Client ID",
                        "LabelCode": "rest.oauth2.clientID.label",
                        "ToolTip": "OAuth2 - Client ID",
                        "ToolTipCode": "rest.oauth2.clientID.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2Scope",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Scope",
                        "LabelCode": "rest.oauth2.scope.label",
                        "ToolTip": "OAuth2 - Scope (comma separated value)",
                        "ToolTipCode": "rest.oauth2.scope.tooltip",
                        "Example": "view,read",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "params",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Params",
                        "LabelCode": "rest.params.label",
                        "ToolTip": "The request params",
                        "ToolTipCode": "rest.params.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "method",
                        "endpoint",
                        "workersCount",
                        "oAuth2TokenEndpoint",
                        "oAuth2ClientSecret",
                        "oAuth2ClientID"
                    ],
                    "Order": [
                        "name",
                        "method",
                        "endpoint",
                        "oAuth2TokenEndpoint",
                        "oAuth2ClientID",
                        "oAuth2ClientSecret",
                        "oAuth2Scope",
                        "headers",
                        "params",
                        "mapping",
                        "requestTimeout",
                        "insecureSkipVerify",
                        "workersCount",
                        "responseTopic",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - REST API

**POST** `{{edgeUrl}}/cc/v2`

## REST API — Provider Schema

**Provider ID:** `rest`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `oAuth2ClientID` | string | OAuth2 - Client ID | No | - | - |
| `oAuth2Scope` | string | OAuth2 - Scope | No | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `requestTimeout` | integer | Request timeout | No | `10` | - |
| `mapping` | object | Mapping | No | - | - |
| `method` | string | Method | Yes | `POST` | `GET`, `POST`, `PUT`, `DELETE` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `endpoint` | string | Endpoint | Yes | - | - |
| `headers` | object | Headers | No | - | - |
| `oAuth2ClientSecret` | string | OAuth2 - Client Secret | No | - | - |
| `oAuth2TokenEndpoint` | string | OAuth2 - Token Endpoint | No | - | - |
| `params` | object | Params | No | - | - |
| `workersCount` | integer | Parallel Publish Count | Yes | `100` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `insecureSkipVerify` | boolean | Insecure skip verify | No | `True` | - |
| `name` | string | Name | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "rest"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/rest.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "oAuth2ClientID",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Client ID",
                        "LabelCode": "rest.oauth2.clientID.label",
                        "ToolTip": "OAuth2 - Client ID",
                        "ToolTipCode": "rest.oauth2.clientID.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2Scope",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Scope",
                        "LabelCode": "rest.oauth2.scope.label",
                        "ToolTip": "OAuth2 - Scope (comma separated value)",
                        "ToolTipCode": "rest.oauth2.scope.tooltip",
                        "Example": "view,read",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "requestTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 10,
                        "Minimum": 1,
                        "Maximum": 60,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Request timeout",
                        "LabelCode": "rest.requestTimeout.label",
                        "ToolTip": "Request timeout in seconds",
                        "ToolTipCode": "rest.requestTimeout.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "rest.mapping.label",
                        "ToolTip": "The mapping",
                        "ToolTipCode": "rest.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "method",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "POST",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "GET",
                            "POST",
                            "PUT",
                            "DELETE"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Method",
                        "LabelCode": "rest.method.label",
                        "ToolTip": "Method",
                        "ToolTipCode": "rest.method.tooltip",
                        "Example": 1,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "endpoint",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Endpoint",
                        "LabelCode": "rest.endpoint.label",
                        "ToolTip": "Endpoint",
                        "ToolTipCode": "rest.endpoint.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "headers",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Headers",
                        "LabelCode": "rest.headers.label",
                        "ToolTip": "The request headers",
                        "ToolTipCode": "rest.headers.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2ClientSecret",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Client Secret",
                        "LabelCode": "rest.oauth2.clientSecret.label",
                        "ToolTip": "OAuth2 - Client Secret Key",
                        "ToolTipCode": "rest.oauth2.clientSecret.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "oAuth2TokenEndpoint",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "OAuth2 - Token Endpoint",
                        "LabelCode": "rest.oauth2.tokenEndpoint.label",
                        "ToolTip": "OAuth2 - Token Endpoint URL",
                        "ToolTipCode": "rest.oauth2.tokenEndpoint.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "params",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Params",
                        "LabelCode": "rest.params.label",
                        "ToolTip": "The request params",
                        "ToolTipCode": "rest.params.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 10,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "rest.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages. Check information above for details.",
                        "ToolTipCode": "rest.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "insecureSkipVerify",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Insecure skip verify",
                        "LabelCode": "rest.insecureSkipVerify.label",
                        "ToolTip": "InsecureSkipVerify controls whether a client verifies the server's certificate chain and host name.",
                        "ToolTipCode": "rest.insecureSkipVerify.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "rest.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "rest.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "method",
                        "endpoint",
                        "workersCount"
                    ],
                    "Order": [
                        "name",
                        "method",
                        "endpoint",
                        "headers",
                        "params",
                        "mapping",
                        "requestTimeout",
                        "insecureSkipVerify",
                        "workersCount",
                        "oAuth2TokenEndpoint",
                        "oAuth2ClientSecret",
                        "oAuth2ClientID",
                        "oAuth2Scope",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - Microsoft SQL Server

**POST** `{{edgeUrl}}/cc/v2`

## DB - Microsoft SQL Server — Provider Schema

**Provider ID:** `mssql`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `bulkSize` | integer | Bulk insert count | No | `0` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `database` | string | Database | Yes | - | - |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `name` | string | Name | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `username` | string | Username | No | - | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `mapping` | object | Mapping | No | - | - |
| `password` | string | Password | No | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `createTable` | boolean | Create table | Yes | `False` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | Yes | `1433` | - |
| `table` | string | Table | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "mssql"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/mssql.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "mssql.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "mssql.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "mssql.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "mssql.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "mssql.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "mssql.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "mssql.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "mssql.name.tooltip",
                        "Example": "MSSQL",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "mssql.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "mssql.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "mssql.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "mssql.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "mssql.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "mssql.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "mssql.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "mssql.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "mssql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "mssql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "mssql.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "mssql.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1433,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "mssql.port.label",
                        "ToolTip": "Port of MSSQL host.",
                        "ToolTipCode": "mssql.port.tooltip",
                        "Example": 1433,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "mssql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "mssql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "database",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "database",
                        "table",
                        "mapping",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - Microsoft SQL Server SSL

**POST** `{{edgeUrl}}/cc/v2`

## DB - Microsoft SQL Server SSL — Provider Schema

**Provider ID:** `mssql-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `createTable` | boolean | Create table | Yes | `False` | - |
| `database` | string | Database | Yes | - | - |
| `password` | string | Password | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `username` | string | Username | Yes | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `port` | integer | Port | Yes | `1433` | - |
| `sslMode` | string | SSL Mode | Yes | `true` | `disable`, `true`, `false` |
| `table` | string | Table | Yes | - | - |
| `bulkSize` | integer | Bulk insert count | No | `0` | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `mapping` | object | Mapping | No | - | - |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `name` | string | Name | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "mssql-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/mssql-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "mssql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "mssql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "mssql.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "mssql.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "mssql.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "mssql.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "mssql.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "mssql.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "mssql.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "mssql.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "mssql.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "mssql.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1433,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "mssql.port.label",
                        "ToolTip": "Port of MSSQL host.",
                        "ToolTipCode": "mssql.port.tooltip",
                        "Example": 1433,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sslMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "true",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "disable",
                            "true",
                            "false"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SSL Mode",
                        "LabelCode": "mssql.sslmode.label",
                        "ToolTip": "SSL mode",
                        "ToolTipCode": "mssql.sslmode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "mssql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "mssql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "mssql.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "mssql.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "mssql.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "mssql.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "mssql.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "mssql.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "mssql.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "mssql.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "mssql.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "mssql.name.tooltip",
                        "Example": "MSSQL",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "sslMode",
                        "username",
                        "password",
                        "database",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "sslMode",
                        "caCert",
                        "username",
                        "password",
                        "database",
                        "table",
                        "mapping",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - MySQL

**POST** `{{edgeUrl}}/cc/v2`

## DB - MySQL — Provider Schema

**Provider ID:** `mysql`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `port` | integer | Port | Yes | `3306` | - |
| `database` | string | Database | Yes | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `mapping` | object | Mapping | No | - | - |
| `password` | string | Password | No | - | - |
| `username` | string | Username | Yes | - | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `createTable` | boolean | Create table | Yes | `False` | - |
| `name` | string | Name | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `table` | string | Table | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `bulkSize` | integer | Bulk insert count | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "mysql"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/mysql.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "mysql.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "mysql.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 3306,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "mysql.port.label",
                        "ToolTip": "Port of MySql host.",
                        "ToolTipCode": "mysql.port.tooltip",
                        "Example": 3306,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "mysql.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "mysql.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "mysql.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "mysql.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "mysql.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "mysql.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "mysql.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "mysql.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "mysql.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "mysql.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "mysql.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "mysql.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "mssql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "mssql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "mysql.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "mysql.name.tooltip",
                        "Example": "MySQL",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "mysql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "mysql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "mysql.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "mysql.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "database",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "database",
                        "table",
                        "mapping",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - MySQL SSL

**POST** `{{edgeUrl}}/cc/v2`

## DB - MySQL SSL — Provider Schema

**Provider ID:** `mysql-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `createTable` | boolean | Create table | Yes | `False` | - |
| `database` | string | Database | Yes | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `password` | string | Password | No | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `caCert` | string | CA Certificate | No | `` | - |
| `port` | integer | Port | Yes | `3306` | - |
| `privateKey` | string | Private key | No | `` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | Yes | - | - |
| `mapping` | object | Mapping | No | - | - |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `sslMode` | string | SSL Mode | No | `require` | `require` |
| `bulkSize` | integer | Bulk insert count | No | `0` | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `name` | string | Name | Yes | - | - |
| `table` | string | Table | Yes | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `certificate` | string | Certificate | No | `` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "mysql-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/mysql-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "mysql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "mysql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "mysql.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "mysql.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "mysql.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "mysql.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "mysql.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "mysql.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "mysql.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "mysql.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 3306,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "mysql.port.label",
                        "ToolTip": "Port of MySql host.",
                        "ToolTipCode": "mysql.port.tooltip",
                        "Example": 3306,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "mysql.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "mysql.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "mysql.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "mysql.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "mysql.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "mysql.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "mysql.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "mysql.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sslMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "require",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "require"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SSL Mode",
                        "LabelCode": "mysql.sslmode.label",
                        "ToolTip": "SSL mode",
                        "ToolTipCode": "mysql.sslmode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "mysql.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "mysql.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "mysql.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "mysql.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "mysql.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "mysql.name.tooltip",
                        "Example": "MySQL",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "mysql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "mysql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "mysql.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "mysql.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "database",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "username",
                        "password",
                        "database",
                        "table",
                        "mapping",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - PostgreSQL

**POST** `{{edgeUrl}}/cc/v2`

## DB - PostgreSQL — Provider Schema

**Provider ID:** `postgresql`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `password` | string | Password | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `username` | string | Username | Yes | - | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `database` | string | Database | Yes | - | - |
| `hostname` | string | Hostname | Yes | - | - |
| `port` | integer | Port | Yes | `5432` | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `createTable` | boolean | Create table | Yes | `False` | - |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `table` | string | Table | Yes | - | - |
| `bulkSize` | integer | Bulk insert count | No | `0` | - |
| `mapping` | object | Mapping | No | - | - |
| `name` | string | Name | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "postgresql"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/postgresql.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "postgresql.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "postgresql.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "postgresql.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "postgresql.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "postgresql.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "postgresql.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "postgresql.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "postgresql.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "postgresql.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "postgresql.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5432,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "postgresql.port.label",
                        "ToolTip": "Port of PostgreSQL host.",
                        "ToolTipCode": "postgresql.port.tooltip",
                        "Example": 3306,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "postgresql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "postgresql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "postgresql.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "postgresql.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "postgresql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "postgresql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "postgresql.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "postgresql.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "postgresql.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "postgresql.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "postgresql.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "postgresql.name.tooltip",
                        "Example": "PostgreSQL",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "database",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "username",
                        "password",
                        "database",
                        "table",
                        "mapping",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - PostgreSQL SSL

**POST** `{{edgeUrl}}/cc/v2`

## DB - PostgreSQL SSL — Provider Schema

**Provider ID:** `postgresql-ssl`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `port` | integer | Port | Yes | `5432` | - |
| `sslMode` | string | SSL Mode | Yes | `require` | `require`, `verify-ca`, `verify-full` |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `name` | string | Name | Yes | - | - |
| `password` | string | Password | No | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | No | - | - |
| `certificate` | string | Certificate | No | `` | - |
| `database` | string | Database | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `caCert` | string | CA Certificate | No | `` | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `createTable` | boolean | Create table | Yes | `False` | - |
| `hostname` | string | Hostname | Yes | - | - |
| `mapping` | object | Mapping | No | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `privateKey` | string | Private key | No | `` | - |
| `table` | string | Table | Yes | - | - |
| `bulkSize` | integer | Bulk insert count | No | `0` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "postgresql-ssl"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/postgresql-ssl.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 5432,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "postgresql.port.label",
                        "ToolTip": "Port of PostgreSQL host.",
                        "ToolTipCode": "postgresql.port.tooltip",
                        "Example": 3306,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "sslMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "require",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "require",
                            "verify-ca",
                            "verify-full"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "SSL Mode",
                        "LabelCode": "postgresql.sslmode.label",
                        "ToolTip": "SSL mode",
                        "ToolTipCode": "postgresql.sslmode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "postgresql.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "postgresql.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "postgresql.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "postgresql.name.tooltip",
                        "Example": "PostgreSQL",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "postgresql.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "postgresql.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "postgresql.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "postgresql.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "certificate",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Certificate",
                        "LabelCode": "postgresql.certificate.label",
                        "ToolTip": "Certificate can be added here.",
                        "ToolTipCode": "postgresql.certificate.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "postgresql.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "postgresql.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "caCert",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "CA Certificate",
                        "LabelCode": "postgresql.caCert.label",
                        "ToolTip": "CA certificate can be added here. It can also be added to system wide certificate list.",
                        "ToolTipCode": "postgresql.caCert.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "postgresql.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "postgresql.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "postgresql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "postgresql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "postgresql.hostname.label",
                        "ToolTip": "DNS name or IP of the host.",
                        "ToolTipCode": "postgresql.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "mapping",
                    "Value": {
                        "Type": "object",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": "kv",
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Mapping",
                        "LabelCode": "postgresql.mapping.label",
                        "ToolTip": "The mapping list",
                        "ToolTipCode": "postgresql.mapping.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "privateKey",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "certificate",
                        "MaskedType": "protected",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Private key",
                        "LabelCode": "postgresql.privateKey.label",
                        "ToolTip": "Private key can be added here.",
                        "ToolTipCode": "postgresql.privateKey.tooltip",
                        "Example": null,
                        "Multiline": true,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "postgresql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "postgresql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "postgresql.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "postgresql.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "hostname",
                        "port",
                        "database",
                        "sslMode",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "sslMode",
                        "caCert",
                        "certificate",
                        "privateKey",
                        "username",
                        "password",
                        "database",
                        "table",
                        "mapping",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - DB - Snowflake

**POST** `{{edgeUrl}}/cc/v2`

## DB - Snowflake — Provider Schema

**Provider ID:** `snowflake`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `accountName` | string | Account | Yes | - | - |
| `password` | string | Password | Yes | - | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `table` | string | Table | Yes | - | - |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `username` | string | Username | Yes | - | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `createTable` | boolean | Create table | Yes | `False` | - |
| `database` | string | Database | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `schema` | string | Schema | Yes | - | - |
| `warehouse` | string | Warehouse | Yes | - | - |
| `bulkSize` | integer | Bulk insert count | No | `0` | - |
| `maxTransactionSize` | integer | Max transaction size | No | `100` | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `commitTimeout` | integer | Commit timeout | No | `1000` | - |
| `name` | string | Name | Yes | - | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "snowflake"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/snowflake.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "accountName",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Account",
                        "LabelCode": "snowflake.accountName.label",
                        "ToolTip": "Account Name",
                        "ToolTipCode": "snowflake.accountName.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "password",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Password",
                        "LabelCode": "snowflake.password.label",
                        "ToolTip": "The password",
                        "ToolTipCode": "snowflake.password.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "table",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Table",
                        "LabelCode": "mysql.table.label",
                        "ToolTip": "The table name",
                        "ToolTipCode": "mysql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "username",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Username",
                        "LabelCode": "snowflake.username.label",
                        "ToolTip": "The username",
                        "ToolTipCode": "snowflake.username.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "createTable",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": false,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Create table",
                        "LabelCode": "mssql.createTable.label",
                        "ToolTip": "Create the table if it doesn't exist. To do this you need permissions.",
                        "ToolTipCode": "mssql.table.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "database",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Database",
                        "LabelCode": "snowflake.database.label",
                        "ToolTip": "The database name",
                        "ToolTipCode": "snowflake.database.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "schema",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Schema",
                        "LabelCode": "snowflake.schema.label",
                        "ToolTip": "The schema name",
                        "ToolTipCode": "snowflake.schema.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "warehouse",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Warehouse",
                        "LabelCode": "snowflake.warehouse.label",
                        "ToolTip": "The warehouse name",
                        "ToolTipCode": "snowflake.warehouse.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "bulkSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Bulk insert count",
                        "LabelCode": "snowflake.bulk_size.label",
                        "ToolTip": "Buffer messages and perform bulk insert once the Bulk insert count is reached",
                        "ToolTipCode": "snowflake.bulk_size.tooltip",
                        "Example": 0,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "maxTransactionSize",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 100,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Max transaction size",
                        "LabelCode": "snowflake.max_transaction_size.label",
                        "ToolTip": "Maximum number of messages before a transaction is committed regardless of timeout",
                        "ToolTipCode": "snowflake.max_transaction_size.tooltip",
                        "Example": 100,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "commitTimeout",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1000,
                        "Minimum": 10,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Commit timeout",
                        "LabelCode": "snowflake.commit_timeout.label",
                        "ToolTip": "Transaction commit timeout (ms)",
                        "ToolTipCode": "snowflake.commit_timeout.tooltip",
                        "Example": 1000,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "snowflake.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "snowflake.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "accountName",
                        "username",
                        "password",
                        "database",
                        "schema",
                        "warehouse",
                        "table",
                        "createTable"
                    ],
                    "Order": [
                        "name",
                        "accountName",
                        "username",
                        "password",
                        "database",
                        "schema",
                        "warehouse",
                        "table",
                        "createTable",
                        "commitTimeout",
                        "maxTransactionSize",
                        "bulkSize",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

## Provider Schema - Splunk

**POST** `{{edgeUrl}}/cc/v2`

## Splunk — Provider Schema

**Provider ID:** `splunk-http`

| Field | Type | Label | Required | Default | Options |
|-------|------|-------|----------|---------|---------|
| `hostname` | string | Hostname | Yes | - | - |
| `persistentStorage` | boolean | Persistent storage | No | `True` | - |
| `port` | integer | Port | Yes | `8088` | - |
| `token` | string | Token | Yes | - | - |
| `topic` | string | Endpoint | Yes | `services/collector/event` | - |
| `workersCount` | integer | Parallel Publish Count | No | `1` | - |
| `name` | string | Name | Yes | - | - |
| `plSizeLimitGB` | integer | Persistent storage size limit | No | `1` | - |
| `queueMode` | string | Queue Mode | No | `lifo` | `lifo`, `fifo` |
| `throttlingLimit` | integer | Throttling limit | No | `0` | - |
| `useSSL` | boolean | Use SSL | Yes | `True` | - |

### Request Body

**GraphQL Query**

```graphql
query GetProviderSchema($input: GetProviderInfoRequest!) {
    GetProviderSchema(input: $input) {
        ID
        Schema
        Type
        Properties {
            Key
            Value {
                Type
                Hidden
                Default
                Minimum
                Maximum
                Enum
                Protected
                FieldType
                MaskedType
                ReadOnly
                Advanced
                Label
                LabelCode
                ToolTip
                ToolTipCode
                Example
                Multiline
                AllowUpload
                AllowEmpty
                MinLength
                MaxLength
                ControllerFieldId
                LinkedFields {
                    FieldName
                    FieldValues
                    Criteria
                    GroupNumber
                }
            }
        }
        OneOf {
            Required
            Order
        }
        LimitDataDirectionScope
    }
}
```

**Variables**

```json
{
  "input": {
    "ProviderID": "splunk-http"
  }
}
```

### Response

**Status**: 200 OK

```json
{
    "data": {
        "GetProviderSchema": {
            "ID": "http://litmusautomation.com/schemas/cc/splunk.json",
            "Schema": "http://json-schema.org/draft-07/schema#",
            "Type": "object",
            "Properties": [
                {
                    "Key": "hostname",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Hostname",
                        "LabelCode": "splunk.hostname.label",
                        "ToolTip": "Hostname",
                        "ToolTipCode": "splunk.hostname.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 3,
                        "MaxLength": 255,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "persistentStorage",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage",
                        "LabelCode": "generic.persistentStorage.label",
                        "ToolTip": "Persistent storage",
                        "ToolTipCode": "generic.persistentStorage.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitMB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": true,
                        "Default": 1024,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitMB.label",
                        "ToolTip": "Persistent storage size limit in MB (DEPRECATED)",
                        "ToolTipCode": "generic.plSizeLimitMB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "port",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 8088,
                        "Minimum": 1,
                        "Maximum": 65535,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Port",
                        "LabelCode": "splunk.port.label",
                        "ToolTip": "Port of splunk host.",
                        "ToolTipCode": "splunk.port.tooltip",
                        "Example": "8088",
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "token",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": true,
                        "FieldType": "password",
                        "MaskedType": "dotted",
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Token",
                        "LabelCode": "splunk.token.label",
                        "ToolTip": "Splunk token",
                        "ToolTipCode": "splunk.token.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "topic",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "services/collector/event",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Endpoint",
                        "LabelCode": "splunk.topic.label",
                        "ToolTip": "Splunk endpoint",
                        "ToolTipCode": "splunk.topic.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": 1,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "workersCount",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": 4000,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Parallel Publish Count",
                        "LabelCode": "generic.workersCount.label",
                        "ToolTip": "The number of simultaneously publishing messages",
                        "ToolTipCode": "generic.workersCount.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "name",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": null,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Name",
                        "LabelCode": "splunk.name.label",
                        "ToolTip": "Instance Name",
                        "ToolTipCode": "splunk.name.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "plSizeLimitGB",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 1,
                        "Minimum": 1,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Persistent storage size limit",
                        "LabelCode": "generic.plSizeLimitGB.label",
                        "ToolTip": "Persistent storage size limit in GB",
                        "ToolTipCode": "generic.plSizeLimitGB.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "queueMode",
                    "Value": {
                        "Type": "string",
                        "Hidden": null,
                        "Default": "lifo",
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": [
                            "lifo",
                            "fifo"
                        ],
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Queue Mode",
                        "LabelCode": "generic.queueMode.label",
                        "ToolTip": "Queue Mode",
                        "ToolTipCode": "generic.queueMode.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": "persistentStorage",
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "throttlingLimit",
                    "Value": {
                        "Type": "integer",
                        "Hidden": null,
                        "Default": 0,
                        "Minimum": 0,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Throttling limit",
                        "LabelCode": "generic.throttlingLimit.label",
                        "ToolTip": "Throttling limit",
                        "ToolTipCode": "generic.throttlingLimit.tooltip",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                },
                {
                    "Key": "useSSL",
                    "Value": {
                        "Type": "boolean",
                        "Hidden": null,
                        "Default": true,
                        "Minimum": null,
                        "Maximum": null,
                        "Enum": null,
                        "Protected": null,
                        "FieldType": null,
                        "MaskedType": null,
                        "ReadOnly": null,
                        "Advanced": null,
                        "Label": "Use SSL",
                        "LabelCode": "splunk.usessl.label",
                        "ToolTip": "Use SSL",
                        "ToolTipCode": "",
                        "Example": null,
                        "Multiline": null,
                        "AllowUpload": null,
                        "AllowEmpty": null,
                        "MinLength": null,
                        "MaxLength": null,
                        "ControllerFieldId": null,
                        "LinkedFields": null
                    }
                }
            ],
            "OneOf": [
                {
                    "Required": [
                        "name",
                        "useSSL",
                        "hostname",
                        "port",
                        "topic",
                        "token"
                    ],
                    "Order": [
                        "name",
                        "hostname",
                        "port",
                        "useSSL",
                        "topic",
                        "token",
                        "workersCount",
                        "throttlingLimit",
                        "persistentStorage",
                        "queueMode",
                        "plSizeLimitMB",
                        "plSizeLimitGB"
                    ]
                }
            ],
            "LimitDataDirectionScope": "OUTBOUND"
        }
    }
}
```

---

