Skip to main content

Command Palette

Search for a command to run...

intermediate15 minutes

Tenders API

Signed-in application routes for tender listing, detail, document download links and exports; separate from Developer API v2

Overview

These tender routes belong to the Tenders-SA web application, not the separate Developer API-key service. Tender listing and detail reads may be public; export routes use the current signed-in browser session. For programmatic v2 access, use /developers/reference.

Base path

Use the app base URL plus the route path, for example https://tenders-sa.org/api/tenders. The previous https://api.tenders-sa.org/v1/tenders examples are not the current implementation.

List Tenders

GET /api/tenders returns active tender notices by default and supports pagination plus common search filters.

| Parameter | Type | Description |
|-----------|------|-------------|
| page | number | Page number, default 1 |
| limit | number | Items per page, default 20 |
| search | string | Searches title, description, organization, reference number, and parsed data |
| industry | string | Category search filter; use all to skip |
| province | string | Province filter; use all to skip |
| publicationType | string | Publication type filter such as TENDER_NOTICE, CLOSED, AWARD_NOTICE, CANCELLATION_NOTICE, CORRIGENDUM, or another valid publication type |

Search tenders

bash

List response shape

json

Get Single Tender

GET /api/tenders/{id} returns a single active tender by internal tender ID. The route returns 404 if the tender is missing, inactive, or a placeholder/test reference.

Tender detail request

bash

Tender Document Download Links

GET /api/v1/documents/{documentId}/download-url resolves a source tender document URL. It returns the R2 URL when available, otherwise a constructed worker URL, otherwise the original source URL. Add ?redirect=1 to receive a 307 redirect instead of JSON.

Resolve source document URL

bash

Download URL response shape

json

Authenticated Tender Exports

POST /api/tenders/export creates an export for an authenticated user. GET /api/tenders/export/download?exportId={id} downloads the generated file if it belongs to the same user and has not expired. See Application API Authentication for the current browser-session behaviour.

Create export

bash

Error Handling

| Status | Meaning |
|--------|---------|
| 200 | Request succeeded |
| 400 | Invalid request parameters or export request body |
| 401 | Authenticated export route was called without a valid JWT |
| 403 | Export access is not allowed for the current subscription or user |
| 404 | Tender, document URL, or export was not found |
| 410 | Export file has expired |
| 500 | Unexpected server error |

Updates and Integrations

For user-facing tender updates, use Notification Management. For application preparation context, see the Tender Application Guide.