---
id: "ibm-watsonx-code-assistant"
type: "component"
kind: "ai-service"
provider: "ibm"
category: "compute"
docs: "https://cloud.ibm.com/docs/watsonx-code-assistant"
url: "https://localhost:3000/catalogue/components/ibm-watsonx-code-assistant"
---

# IBM watsonx Code Assistant

Code generation and modernisation assistant built on Granite code models, used from an IDE.

| | |
|---|---|
| Provider | [ibm](https://localhost:3000/catalogue?provider=ibm) |
| Kind | [AI service](https://localhost:3000/catalogue/kinds/ai-service) |
| Category | Compute |
| Official docs | [https://cloud.ibm.com/docs/watsonx-code-assistant](https://cloud.ibm.com/docs/watsonx-code-assistant) |

## Properties

| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| `auth` | enum | `api-key`, `oauth`, `iam`, `none` | no | — | **"api-key"** |
| `contentFiltering` | boolean | — | no | — | inherited |
| `customerManagedKeys` | boolean | — | no | — | inherited |
| `dataResidency` (advanced) | enum | `us`, `eu`, `asia`, `global` | no | — | inherited |
| `dataRetentionDays` | integer | — | no | — | inherited |
| `keyStore` | boolean | — | no | false | inherited |
| `managed` | boolean | — | no | false | **true** |
| `modality` | enum | `text`, `vision`, `speech`, `multimodal`, `structured`, `image`, `video`, `audio`, `embedding`, `rerank` | no | — | **"text"** |
| `publicEndpoint` | boolean | — | no | — | inherited |
| `quotaUnitsPerMinute` | integer | — | no | — | inherited |
| `rateLimitRpm` (advanced) | integer | — | no | — | inherited |
| `rateLimitTpm` (advanced) | integer | — | no | — | inherited |
| `target` | enum | `general-development`, `ansible-lightspeed`, `z-modernization`, `java-modernization` | no | — | inherited |
| `viaGateway` | boolean | — | no | false | inherited |

Bold values are the ones this component pins.

## Rules that apply · 2

### AI API key not managed `ai-api-key-unmanaged` (warning)

- Page: https://localhost:3000/catalogue/rules/ai-api-key-unmanaged.md
- Why: This AI vendor is reached with an API key, and nothing in the design holds or rotates that key. It ends up in environment files or code, every caller shares it, and a single leak runs up the vendor bill until someone notices. Put the key in a key-management component, or say it is held there with keyStore.
- Applies to: every node of kind ai-service
- Message: AI service '{{node.id}}' is called with an API key, the key is not held in a key-management component, and the design has none.

It fires when:

- all of these hold:
  - the node's `auth` is "api-key"
  - the node's `keyStore` is false
  - the node has at least one incoming edge from an app-server, worker or client
  - this does not hold:
    - the design contains a node of kind key-management

### Stateful node without zone redundancy `stateful-node-without-zone-redundancy` (error)

- Page: https://localhost:3000/catalogue/rules/stateful-node-without-zone-redundancy.md
- Why: A stateful compute node pinned to exactly one availability zone disappears with that zone, and its state goes with it. Nodes inside a cell are exempt, because there the cell is deliberately single-zone and redundancy comes from the other cells.
- Applies to: every node in category compute
- Message: Stateful node '{{node.id}}' lives in exactly one availability zone. A zone outage takes its state with it.

It fires when:

- all of these hold:
  - the node's `stateless` is false
  - the node sits inside exactly 1 availability-zone group
  - this does not hold:
    - the node sits inside at least one cell group

## Other products of the same kind · 125

- [Content Moderation](https://localhost:3000/catalogue/components/alibaba-content-moderation.md) `alibaba-content-moderation` — alibabacloud
- [Fraud Detection](https://localhost:3000/catalogue/components/alibaba-fraud-detection.md) `alibaba-fraud-detection` — alibabacloud
- [ID Verification](https://localhost:3000/catalogue/components/alibaba-id-verification.md) `alibaba-id-verification` — alibabacloud
- [Intelligent Robot](https://localhost:3000/catalogue/components/alibaba-intelligent-robot.md) `alibaba-intelligent-robot` — alibabacloud
- [Model Studio](https://localhost:3000/catalogue/components/alibaba-model-studio.md) `alibaba-model-studio` — alibabacloud
- [Smart Conversation Analysis](https://localhost:3000/catalogue/components/alibaba-smart-conversation-analysis.md) `alibaba-smart-conversation-analysis` — alibabacloud
- [Amazon Bedrock](https://localhost:3000/catalogue/components/aws-bedrock.md) `aws-bedrock` — aws
- [Amazon Bedrock AgentCore](https://localhost:3000/catalogue/components/aws-bedrock-agentcore.md) `aws-bedrock-agentcore` — aws
- [Amazon Bedrock Data Automation](https://localhost:3000/catalogue/components/aws-bedrock-data-automation.md) `aws-bedrock-data-automation` — aws
- [Amazon Bedrock Guardrails](https://localhost:3000/catalogue/components/aws-bedrock-guardrails.md) `aws-bedrock-guardrails` — aws
- [Amazon Comprehend](https://localhost:3000/catalogue/components/aws-comprehend.md) `aws-comprehend` — aws
- [Amazon Comprehend Medical](https://localhost:3000/catalogue/components/aws-comprehend-medical.md) `aws-comprehend-medical` — aws
- [AWS Elemental Inference](https://localhost:3000/catalogue/components/aws-elemental-inference.md) `aws-elemental-inference` — aws
- [Amazon Forecast](https://localhost:3000/catalogue/components/aws-forecast.md) `aws-forecast` — aws
- [Amazon Fraud Detector](https://localhost:3000/catalogue/components/aws-fraud-detector.md) `aws-fraud-detector` — aws
- [AWS HealthScribe](https://localhost:3000/catalogue/components/aws-healthscribe.md) `aws-healthscribe` — aws
- [Amazon Lex bot](https://localhost:3000/catalogue/components/aws-lex.md) `aws-lex` — aws
- [Amazon Lookout for Equipment](https://localhost:3000/catalogue/components/aws-lookout-for-equipment.md) `aws-lookout-for-equipment` — aws
- [Amazon Lookout for Metrics](https://localhost:3000/catalogue/components/aws-lookout-for-metrics.md) `aws-lookout-for-metrics` — aws
- [Amazon Lookout for Vision](https://localhost:3000/catalogue/components/aws-lookout-for-vision.md) `aws-lookout-for-vision` — aws
- [Amazon Personalize](https://localhost:3000/catalogue/components/aws-personalize.md) `aws-personalize` — aws
- [Amazon Polly](https://localhost:3000/catalogue/components/aws-polly.md) `aws-polly` — aws
- [Amazon Q Business](https://localhost:3000/catalogue/components/aws-q-business.md) `aws-q-business` — aws
- [Amazon Rekognition](https://localhost:3000/catalogue/components/aws-rekognition.md) `aws-rekognition` — aws
- [Amazon Textract](https://localhost:3000/catalogue/components/aws-textract.md) `aws-textract` — aws
- [Amazon Transcribe](https://localhost:3000/catalogue/components/aws-transcribe.md) `aws-transcribe` — aws
- [Amazon Translate](https://localhost:3000/catalogue/components/aws-translate.md) `aws-translate` — aws
- [Content Safety](https://localhost:3000/catalogue/components/azure-ai-content-safety.md) `azure-ai-content-safety` — azure
- [Azure AI Custom Vision](https://localhost:3000/catalogue/components/azure-ai-custom-vision.md) `azure-ai-custom-vision` — azure
- [Azure AI Face](https://localhost:3000/catalogue/components/azure-ai-face.md) `azure-ai-face` — azure
- [Azure Language](https://localhost:3000/catalogue/components/azure-ai-language.md) `azure-ai-language` — azure
- [Azure Speech](https://localhost:3000/catalogue/components/azure-ai-speech.md) `azure-ai-speech` — azure
- [Azure Translator](https://localhost:3000/catalogue/components/azure-ai-translator.md) `azure-ai-translator` — azure
- [Azure Vision](https://localhost:3000/catalogue/components/azure-ai-vision.md) `azure-ai-vision` — azure
- [Azure Content Understanding](https://localhost:3000/catalogue/components/azure-content-understanding.md) `azure-content-understanding` — azure
- [Microsoft Discovery](https://localhost:3000/catalogue/components/azure-discovery.md) `azure-discovery` — azure
- [Azure Document Intelligence](https://localhost:3000/catalogue/components/azure-document-intelligence.md) `azure-document-intelligence` — azure
- [Foundry Agent Service](https://localhost:3000/catalogue/components/azure-foundry-agent-service.md) `azure-foundry-agent-service` — azure
- [Foundry Models](https://localhost:3000/catalogue/components/azure-foundry-models.md) `azure-foundry-models` — azure
- [Azure AI Immersive Reader](https://localhost:3000/catalogue/components/azure-immersive-reader.md) `azure-immersive-reader` — azure
- and 85 more: https://localhost:3000/catalogue/kinds/ai-service.md

## Use it in a design

```yaml
nodes:
  - { id: "ibm-watsonx-code-assistant", component: "ibm-watsonx-code-assistant" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# IBM watsonx Code Assistant: a code generation and modernisation assistant built on IBM Granite
# code models, used from an IDE extension ("IBM watsonx Code Assistant"). It answers per request;
# it stores no application data of its own.
schemaVersion: "1"
type: "component"
id: "ibm-watsonx-code-assistant"
kind: "ai-service"
provider: "ibm"
docs: "https://cloud.ibm.com/docs/watsonx-code-assistant"
defaults:
  auth: "api-key"
  managed: true
  modality: "text"
properties:
  target:
    type: "enum"
    values: ["general-development", "ansible-lightspeed", "z-modernization", "java-modernization"]
```

Human page: https://localhost:3000/catalogue/components/ibm-watsonx-code-assistant
