Working with Vendors
Vendors represent third-party AI providers and services that you integrate with in Credo AI.
Overview
Vendors in Credo AI represent external AI service providers, such as OpenAI, Anthropic, Google AI, or any other third-party AI/ML service your organization uses. Tracking vendors helps you maintain governance over external AI dependencies.
Listing Vendors
- Python
- TypeScript
from credoai import CredoAI
client = CredoAI()
response = client.vendors.list(page_limit=50)
for vendor in response.items:
print(f"{vendor.name} (ID: {vendor.id})")
import { createCredoAIClient } from '@credo-ai/sdk';
const client = createCredoAIClient('your-tenant');
const { data: response, error } = await client.vendors.list({ pageLimit: 50 });
if (error) throw error;
for (const vendor of response.items) {
console.log(`${vendor.name} (ID: ${vendor.id})`);
}
Creating a Vendor
- Python
- TypeScript
from credoai import CredoAI, VendorCreate
client = CredoAI()
vendor = client.vendors.create(
data=VendorCreate(
name="OpenAI",
description="GPT models and embeddings API",
)
)
print(f"Created: {vendor.id}")
import { createCredoAIClient } from '@credo-ai/sdk';
const client = createCredoAIClient('your-tenant');
const { data: vendor, error } = await client.vendors.create({
name: 'OpenAI',
description: 'GPT models and embeddings API',
});
if (error) throw error;
console.log(`Created: ${vendor.id}`);
Getting a Vendor
- Python
- TypeScript
vendor = client.vendors.get(vendor_id="vendor_def456")
print(f"Name: {vendor.name}")
const { data: vendor, error } = await client.vendors.get('vendor_def456');
if (error) throw error;
console.log(`Name: ${vendor.name}`);
Updating a Vendor
- Python
- TypeScript
from credoai import VendorUpdate
updated = client.vendors.update(
vendor_id="vendor_def456",
data=VendorUpdate(description="Updated description"),
)
const { data: updated, error } = await client.vendors.update('vendor_def456', {
description: 'Updated description',
});
if (error) throw error;
Deleting a Vendor
- Python
- TypeScript
client.vendors.delete(vendor_id="vendor_def456")
const { error } = await client.vendors.delete('vendor_def456');
if (error) throw error;
Managing Relationships
Vendors can be linked to use cases and models:
- Python
- TypeScript
from credoai import RelationshipAdd
# Add a vendor to a use case
client.use_case_vendors.add(
use_case_id="uc_abc123",
data=RelationshipAdd(id="vendor_def456"),
)
# List vendors for a use case
vendors = client.use_case_vendors.list(use_case_id="uc_abc123")
# Add a vendor to a model
client.model_vendors.add(
model_id="model_xyz789",
data=RelationshipAdd(id="vendor_def456"),
)
// Add a vendor to a use case
const { error: addError } = await client.useCases.vendors.add('uc_abc123', {
id: 'vendor_def456',
});
if (addError) throw addError;
// List vendors for a use case
const { data: vendors, error: listError } = await client.useCases.vendors.list('uc_abc123');
if (listError) throw listError;
// Add a vendor to a model
const { error: modelError } = await client.models.vendors.add('model_xyz789', {
id: 'vendor_def456',
});
if (modelError) throw modelError;
Next Steps
- Learn about Use Cases to organize your AI applications
- Explore Models to track your AI models
- Understand Relationships between resources
- See the full API Reference for all available methods