Skip to main content

Working with Use Cases

Use Cases represent AI/ML applications or systems that you want to track and govern in Credo AI.

Overview​

Use Cases are the primary organizational unit in Credo AI. They represent an AI system or application that you're developing, deploying, or monitoring.

Listing Use Cases​

from credoai import CredoAI

client = CredoAI()

response = client.use_cases.list(page_limit=50)
for use_case in response.items:
print(f"{use_case.name} (ID: {use_case.id})")

Creating a Use Case​

from credoai import CredoAI, UseCaseCreate

client = CredoAI()

use_case = client.use_cases.create(
data=UseCaseCreate(
name="Customer Churn Prediction",
description="ML model to predict customer churn probability",
)
)
print(f"Created: {use_case.id}")

Getting a Use Case​

use_case = client.use_cases.get(use_case_id="uc_abc123")
print(f"Name: {use_case.name}")

Updating a Use Case​

from credoai import UseCaseUpdate

updated = client.use_cases.update(
use_case_id="uc_abc123",
data=UseCaseUpdate(description="Updated description"),
)

Deleting a Use Case​

client.use_cases.delete(use_case_id="uc_abc123")

Managing Relationships​

Use cases can be linked to models and vendors:

from credoai import RelationshipAdd

# Add a model to a use case
client.use_case_models.add(
use_case_id="uc_abc123",
data=RelationshipAdd(id="model_xyz789"),
)

# List models for a use case
models = client.use_case_models.list(use_case_id="uc_abc123")

# Add a vendor to a use case
client.use_case_vendors.add(
use_case_id="uc_abc123",
data=RelationshipAdd(id="vendor_def456"),
)

Governance Sub-Resources​

Use cases provide fluent access to governance resources via client.use_cases("uc_abc123"):

Sub-ResourceAccessDescription
Controls.controls.list()View policy controls attached to the use case
Policy Packs.policy_packs.list(), .add(), .remove()Manage attached policy packs
Risk Scenarios.risk_scenarios.list(), .add(), .remove()Manage attached risk scenarios
Workflow.workflow.get(), .update(), .advance_step(), .advance_stage(), .reject()Track governance progress
use_case = client.use_cases("uc_abc123")

# List attached policy packs
packs = use_case.policy_packs.list()

# Check workflow status
workflow = use_case.workflow.get()
print(f"Stage: {workflow.stage}, Step: {workflow.step}")

# Advance workflow
use_case.workflow.advance_step()

See Policy Packs, Risks, and Workflow for full details.

Next Steps​