API Reference
The TRMS API gives you programmatic access to tenders, responses, and library content in your workspace. The API is REST-style with JSON request and response bodies.
Authentication
The TRMS API uses bearer token authentication. Generate an API key from your workspace settings and include it in the Authorization header on every request.
curl https://api.trms.co.zw/v1/tenders \
-H "Authorization: Bearer $TRMS_API_KEY"Tenders
Manage discovered and tracked tenders.
GET /v1/tenders— list tendersGET /v1/tenders/{id}— fetch a tenderPOST /v1/tenders— create a tender
{
"id": "tnd_8s7d6f",
"title": "ZESA grid modernisation",
"value_usd": 24000000,
"deadline": "2026-05-14T15:00:00Z",
"win_score": 92
}Responses
A response represents a draft submission against a tender. Responses contain sections, attachments, and an approval state.
GET /v1/responsesPOST /v1/responsesPOST /v1/responses/{id}/sections
Library
The library endpoints expose your reusable content — past responses, capability statements, certifications, and policies.
GET /v1/library/itemsPOST /v1/library/itemsGET /v1/library/search?q=
Errors
The API returns standard HTTP status codes. Error responses include a machine-readable code and a human-readable message.
{
"error": {
"code": "tender_not_found",
"message": "No tender with id tnd_8s7d6f"
}
}Rate limits
The default rate limit is 600 requests per minute per workspace. Each response includes X-RateLimit-Remaining and X-RateLimit-Reset headers so you can throttle gracefully.