Base URL
https://api.biowise.io/v1
Authentication
All API requests require a Bearer token in the Authorization header:
Authorization: Bearer <your-api-token>
Core Endpoints
Entities
| Method | Endpoint | Description |
| GET | /entities | List entities with filtering |
| POST | /entities | Create new entity |
| GET | /entities/:id | Get entity by ID |
| PATCH | /entities/:id | Update entity |
| DELETE | /entities/:id | Delete entity |
| GET | /entities/:id/links | Get entity relationships |
| POST | /entities/:id/links | Create relationship |
Documents
| Method | Endpoint | Description |
| POST | /documents/upload | Upload document |
| GET | /documents/:id | Get document metadata |
| GET | /documents/:id/download | Download file |
| GET | /documents/:id/versions | Version history |
| POST | /documents/:id/verify | Verify integrity |
Search
| Method | Endpoint | Description |
| GET | /search | Full-text search |
| POST | /search/semantic | Semantic similarity search |
| GET | /search/suggestions | Autocomplete suggestions |
AI Agents
| Method | Endpoint | Description |
| POST | /agents/certificate/extract | Extract CoA data |
| POST | /agents/impact/analyze | Change impact analysis |
| POST | /agents/query | Natural language query |
| GET | /agents/expiry/scan | Expiry scan results |
Ontology
| Method | Endpoint | Description |
| GET | /ontology/types | List entity types |
| GET | /ontology/types/:type | Get type schema |
| POST | /ontology/traverse | Graph traversal |
| GET | /ontology/lineage/:id | Data lineage |
Request/Response Examples
Create Entity
POST /v1/entities
Content-Type: application/json
{
"type": "Supplier",
"name": "Acme Chemicals",
"properties": {
"status": "qualified",
"qualification_date": "2025-01-15",
"contact_email": "quality@acme.com"
}
}
Response
{
"id": "sup_abc123",
"type": "Supplier",
"name": "Acme Chemicals",
"properties": {
"status": "qualified",
"qualification_date": "2025-01-15",
"contact_email": "quality@acme.com"
},
"created_at": "2026-02-28T10:30:00Z",
"created_by": "user_xyz",
"version": 1
}
Natural Language Query
POST /v1/agents/query
Content-Type: application/json
{
"query": "Show me all products using components from suppliers with certificates expiring in Q2 2026"
}
Rate Limits
| Tier | Requests/min | AI Calls/day |
| Starter | 100 | 500 |
| Professional | 500 | 5,000 |
| Enterprise | Custom | Custom |
Error Codes
| Code | Meaning |
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing token |
| 403 | Forbidden - Insufficient permissions |
| 404 | Not Found - Resource doesn't exist |
| 429 | Too Many Requests - Rate limit exceeded |
| 500 | Internal Server Error |