Create or Update Integration Provider
Endpoint: POST /api/integrations/provider/{name}
Creates a new integration provider or updates an existing one in the Conductor cluster.
Path Parameters
| Parameter | Description | Type | Required/ Optional |
|---|---|---|---|
| name | A unique name for the integration provider. | string | Required. |
Request Body
Format the request body as a JSON object with the following parameters:
| Parameter | Description | Type | Required/ Optional |
|---|---|---|---|
| type | The integration type. Cannot be changed after creation. Supported values:
| string | Optional. |
| category | The category of the integration. Supported values:
| string | Optional. |
| description | A description for the integration. | string | Optional. |
| enabled | Whether the integration is active and available for use. | boolean | Optional. |
| configuration | A key-value map of provider-specific configuration, such as API keys and endpoints. Keys and required values vary by integration type. See Configuration keys by integration type. | object | Optional. |
Configuration keys by integration type
The configuration object is a key-value map of provider-specific configuration, such as API keys and endpoints. Keys and required values vary by integration type.
| Parameter | Required keys | Optional keys |
|---|---|---|
| ollama | endpoint | header, api_key |
| azure_openai | api_key, endpoint | - |
| openai | api_key | endpoint,organizationId |
| perplexity | api_key | – |
| grok | api_key | - |
| cohere | api_key, endpoint | – |
| mistral | api_key, endpoint | – |
| anthropic | api_key, endpoint | completionsPath, version, betaVersion |
| vertex_ai | projectName, environment, publisher, file | – |
| vertex_ai_gemini | projectName, environment, file | – |
| huggingface | api_key, namespace | – |
| aws_bedrock_anthropic | connectionType, region Based on the connectionType value, the following additional keys may be required:
| awsAccountId |
| aws_bedrock_cohere | connectionType, region Based on the connectionType value, the following additional keys may be required:
| awsAccountId |
| aws_bedrock_titan | connectionType, region Based on the connectionType value, the following additional keys may be required:
| awsAccountId |
| pineconedb | api_key, projectName, environment | – |
| weaviatedb | api_key, endpoint | – |
| pgvectordb | user, password, datasourceURL, dimensions, distance_metric, indexing_method | inverted_list_count |
| mongovectordb | endpoint, namespace, dimensions, distance_metric | inverted_list_count |
| amqp | protocol, user, password, endpoint, port, namespace | – |
| kafka | endpoint, connectionType, protocol | groupId |
| nats | endpoint, connectionType, authenticationType, protocol, tls | – |
| aws_sqs | connectionType, region Based on the connectionType value, the following additional keys may be required:
| awsAccountId |
| azure_service_bus | connectionType | endpoint, namespace |
| gcp_pubsub | projectName, location, file | – |
| ibm_mq | endpoint, port, queueManager, channel, protocol, pubSubMethod, authenticationType, tls | – |
| aws | connectionType, region Based on the connectionType value, the following additional keys may be required:
| awsAccountId |
| gcp | projectName, environment, file | – |
| relational_db | jdbcDriver, user, password, datasourceURL | – |
| sendgrid | api_key | – |
| git | user, api_key | – |
For example, if you are adding an Anthropic Claude integration, the configuration looks like this:
{
"name": "<YOUR-INTEGRATION-NAME>",
"type": "anthropic",
"category": "AI_MODEL",
"description": "<YOUR-DESCRIPTION>",
"enabled": true,
"configuration": {
"api_key": "<YOUR-API-KEY>",
"endpoint": "https://api.anthropic.com/v1"
}
}
Usage notes
- Create: If no provider exists with the
name, a new one is created and the caller is automatically granted full access. - Update: If a provider with the
namealready exists, it is updated. - Type immutability: The
typefield cannot be changed after the provider is created. Attempting to change it returns a400error. - Pinecone: For
type: pineconedb, theprojectNameis auto-resolved from the Pinecone control plane. Theapi_keyandenvironmentfields are required inconfiguration. - OAuth2: If the provider has OAuth2 token fields and
oAuth2AuthCodeis present inconfiguration, the authorization code is exchanged for tokens automatically. - HuggingFace: Any model entries discovered in the configuration are automatically registered as integration models.
- Secrets: Configuration keys of type PASSWORD are saved to the configured secrets backend (e.g., AWS Secrets Manager, Azure Key Vault) rather than stored in plain text.
Response
| Status | Description |
|---|---|
| 200 OK | Indicates that the integration is created/updated successfully. |
| 400 Bad Request | Returns for an invalid input. For example, attempting to change the type of an existing integration. |
| 403 Forbidden | Indicates that the authenticated user does not have permission to update one or more integrations. |
| 404 | The type is not a recognized integration on this server. |
Examples
Create a new integration provider
The following request creates a new OpenAI integration provider.
Request
curl -X 'POST' \
'https://<YOUR-SERVER-URL>/api/integrations/provider/openAI-marketing' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"type": "openai",
"category": "AI_MODEL",
"description": "OpenAI account for the marketing team",
"configuration": {
"api_key": "sk-..."
},
"enabled": true
}'
Response
Returns 200 OK, indicating that the integration is created successfully.
Update an existing integration provider
The following request updates an existing OpenAI integration provider to disable it.
Request
curl -X 'POST' \
'https://<YOUR-SERVER-URL>/api/integrations/provider/openAI-marketing' \
-H 'accept: */*' \
-H 'X-Authorization: <TOKEN>' \
-H 'Content-Type: application/json' \
-d '{
"type": "openai",
"category": "AI_MODEL",
"description": "OpenAI account for the marketing team",
"configuration": {
"api_key": "sk-..."
},
"enabled": false
}'
Response
Returns 200 OK, indicating that the integration is updated successfully.