Skip to content

Suppliers API

The Suppliers API provides specialized endpoints for managing pharmaceutical suppliers, tracking qualification status, and assessing supplier risk.

Suppliers are entities with type supplier and additional supplier-specific attributes and relationships.

{
"id": "ent_supplier_abc123",
"type": "supplier",
"name": "Acme Chemicals GmbH",
"supplier_code": "SUP-2024-001",
"attributes": {
"country": "DE",
"region": "EMEA",
"qualification_status": "qualified",
"qualification_date": "2024-01-15",
"next_audit_date": "2025-01-15",
"risk_level": "low",
"risk_score": 25,
"primary_contact": {
"name": "Hans Mueller",
"email": "h.mueller@acme-chemicals.de",
"phone": "+49 40 1234567"
},
"address": {
"street": "Industriestrasse 42",
"city": "Hamburg",
"postal_code": "20095",
"country": "DE"
},
"certifications": ["ISO 9001", "ISO 14001", "GMP"],
"categories": ["API", "Excipients"]
},
"relationships": [
{
"type": "supplies",
"target_id": "ent_component_456",
"target_name": "Magnesium Stearate"
}
],
"metrics": {
"total_components": 12,
"active_certificates": 45,
"expiring_certificates": 3,
"open_deviations": 1,
"on_time_delivery_rate": 98.5
},
"created_at": "2024-01-10T09:00:00Z",
"updated_at": "2024-01-20T14:30:00Z"
}
StatusDescription
newNewly added, not yet evaluated
evaluationUnder evaluation
qualifiedApproved for use
conditionalApproved with conditions
suspendedTemporarily suspended
disqualifiedNot approved for use
LevelScore RangeDescription
critical76-100Immediate action required
high51-75Significant concerns
medium26-50Some concerns
low0-25Acceptable risk

Retrieve suppliers with filtering.

GET /v1/suppliers
ParameterTypeDescription
qualification_statusstringFilter by qualification status
risk_levelstringFilter by risk level
countrystringFilter by country code
regionstringFilter by region (EMEA, APAC, Americas)
categorystringFilter by supplier category
has_expiring_certificatesbooleanSuppliers with expiring certificates
audit_due_beforedateSuppliers with audits due before date
Terminal window
curl -X GET "https://api.cohera.io/v1/suppliers?qualification_status=qualified&risk_level=low,medium" \
-H "Authorization: Bearer YOUR_API_KEY"

Retrieve a single supplier with full details.

GET /v1/suppliers/{supplier_id}
ParameterTypeDescription
includestringInclude related data: components, certificates, quality_events, metrics
Terminal window
curl -X GET "https://api.cohera.io/v1/suppliers/ent_supplier_abc123?include=components,certificates,metrics" \
-H "Authorization: Bearer YOUR_API_KEY"

Create a new supplier.

POST /v1/suppliers
Terminal window
curl -X POST "https://api.cohera.io/v1/suppliers" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "PharmaChem Industries",
"supplier_code": "SUP-2024-002",
"attributes": {
"country": "US",
"region": "Americas",
"primary_contact": {
"name": "John Smith",
"email": "j.smith@pharmachem.com",
"phone": "+1 555 123 4567"
},
"address": {
"street": "123 Industrial Blvd",
"city": "Newark",
"state": "NJ",
"postal_code": "07102",
"country": "US"
},
"categories": ["Excipients", "Packaging"]
}
}'

Update a supplier’s qualification status with required documentation.

POST /v1/suppliers/{supplier_id}/qualification
FieldTypeRequiredDescription
statusstringYesNew qualification status
effective_datedateYesDate the status takes effect
reasonstringYesReason for status change
next_review_datedateNoNext review or audit date
conditionsarrayNoConditions for conditional approval
documentsarrayNoSupporting document IDs
Terminal window
curl -X POST "https://api.cohera.io/v1/suppliers/ent_supplier_abc123/qualification" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"status": "qualified",
"effective_date": "2024-01-20",
"reason": "Successfully completed qualification audit. All criteria met.",
"next_review_date": "2025-01-20",
"documents": ["cert_audit_report_123"]
}'

Retrieve the current risk assessment for a supplier.

GET /v1/suppliers/{supplier_id}/risk
{
"data": {
"supplier_id": "ent_supplier_abc123",
"risk_score": 25,
"risk_level": "low",
"assessment_date": "2024-01-15",
"next_assessment_date": "2024-07-15",
"factors": [
{
"category": "quality_history",
"score": 5,
"weight": 0.3,
"weighted_score": 1.5,
"details": "1 minor deviation in past 12 months"
},
{
"category": "delivery_performance",
"score": 10,
"weight": 0.2,
"weighted_score": 2.0,
"details": "98.5% on-time delivery rate"
},
{
"category": "financial_stability",
"score": 15,
"weight": 0.15,
"weighted_score": 2.25,
"details": "Stable financials, D&B rating: 4A1"
},
{
"category": "geographic_risk",
"score": 20,
"weight": 0.15,
"weighted_score": 3.0,
"details": "Germany - low regulatory risk"
},
{
"category": "single_source",
"score": 50,
"weight": 0.1,
"weighted_score": 5.0,
"details": "Sole supplier for 2 components"
},
{
"category": "certification_status",
"score": 10,
"weight": 0.1,
"weighted_score": 1.0,
"details": "All certifications current"
}
],
"recommendations": [
"Consider qualifying alternate supplier for single-source components",
"Schedule next quality audit before 2025-01-15"
]
}
}

Manually update or override risk assessment factors.

POST /v1/suppliers/{supplier_id}/risk
{
"assessment_date": "2024-01-20",
"factors": [
{
"category": "financial_stability",
"score": 30,
"details": "Recent acquisition - monitoring integration"
}
],
"notes": "Updated based on Q4 financial review"
}

Get all components supplied by a supplier.

GET /v1/suppliers/{supplier_id}/components
Terminal window
curl -X GET "https://api.cohera.io/v1/suppliers/ent_supplier_abc123/components" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"data": [
{
"id": "ent_component_456",
"name": "Magnesium Stearate",
"component_code": "COMP-001",
"is_primary_supplier": true,
"status": "active",
"active_certificates": 5,
"last_delivery": "2024-01-10"
},
{
"id": "ent_component_789",
"name": "Microcrystalline Cellulose",
"component_code": "COMP-002",
"is_primary_supplier": false,
"status": "active",
"active_certificates": 3,
"last_delivery": "2024-01-05"
}
]
}

Get all certificates for a supplier.

GET /v1/suppliers/{supplier_id}/certificates
ParameterTypeDescription
typestringFilter by certificate type
statusstringFilter by certificate status
component_idstringFilter by component

Export the Approved Vendor List in various formats.

GET /v1/suppliers/avl/export
ParameterTypeDescription
formatstringExport format: csv, xlsx, pdf
statusstringFilter by qualification status
include_componentsbooleanInclude component details
Terminal window
curl -X GET "https://api.cohera.io/v1/suppliers/avl/export?format=xlsx&status=qualified" \
-H "Authorization: Bearer YOUR_API_KEY" \
-o approved_vendor_list.xlsx