Programmatic access to supplier risk assessment data
All Public API requests require an API key. Create keys from your FiorLab dashboard under Settings. Each key is scoped to specific permissions and your organization.
Option 1: Authorization header
Authorization: Bearer fl_your_api_key_hereOption 2: X-API-Key header
X-API-Key: fl_your_api_key_heresuppliers:readList and view supplierssuppliers:writeUpdate supplier dataassessments:readView assessmentsassessments:writeTrigger assessmentsreports:readGenerate reportscontracts:readView contractsRate limit info is returned in response headers:X-RateLimit-LimitX-RateLimit-RemainingX-RateLimit-Reset
{
"error": {
"code": "INVALID_API_KEY",
"message": "Invalid or expired API key"
},
"requestId": "550e8400-e29b-41d4-a716-446655440000"
}INVALID_QUERY / INVALID_BODYValidation error in requestMISSING_API_KEYNo API key providedINVALID_API_KEYKey invalid, expired, or disabledINSUFFICIENT_PERMISSIONSKey lacks required permissionNO_ORGANIZATIONKey not linked to an organizationNOT_FOUNDResource does not exist or not accessibleMETHOD_NOT_ALLOWEDWrong HTTP methodRATE_LIMIT_EXCEEDEDToo many requestsINTERNAL_ERRORUnexpected server errorFiorLab also has an internal REST API at /api/v1/* used by the web application. These endpoints use Firebase ID token authentication and are documented separately. The Public API (/api/v1/public/*) is the recommended integration point for external systems.
curl -H "Authorization: Bearer fl_your_api_key_here" \
"https://app.fiorlab.com/api/v1/public/suppliers?page=1&pageSize=10"import requests
API_KEY = "fl_your_api_key_here"
BASE = "https://app.fiorlab.com/api/v1/public"
headers = {"Authorization": f"Bearer {API_KEY}"}
# List suppliers with score above 70
suppliers = requests.get(
f"{BASE}/suppliers",
headers=headers,
params={"minScore": 70, "sortBy": "score", "sortOrder": "desc"}
).json()["data"]
# Get assessment for top supplier
top = suppliers[0]
assessment = requests.get(
f"{BASE}/suppliers/{top['id']}/assessment",
headers=headers
).json()["data"]
print(f"{top['companyName']}: {assessment['overallRiskRating']}")const API_KEY = "fl_your_api_key_here";
const BASE = "https://app.fiorlab.com/api/v1/public";
const headers = { Authorization: `Bearer ${API_KEY}` };
// List all suppliers
const { data: suppliers } = await fetch(
`${BASE}/suppliers`, { headers }
).then(r => r.json());
// Get report for each supplier
for (const s of suppliers) {
const { data: report } = await fetch(
`${BASE}/suppliers/${s.id}/report`, { headers }
).then(r => r.json());
console.log(`${s.companyName}: ${report.summary.recommendation}`);
}FiorLab API v1.0 — Questions? Contact hello@fiorlab.com