Appearance
Endpoints
All endpoints are prefixed with https://api-rest.tendios.com/api and require the api-key header.
Tenders
Search tenders
http
POST /v1/tenders/searchReturns a paginated list of tenders matching the given filters.
Request body
| Field | Type | Description |
|---|---|---|
text | string | Free-text search query |
page | number | Page number (default: 1) |
pageSize | number | Results per page (max 100, default: 20) |
sort | string | by-published-date | by-submission-date | by-budget |
isDescendent | boolean | Sort descending (default: true) |
status | string[] | Filter by status values |
locations | string[] | Location filters e.g. ["country/ES", "province/28"] |
minBudget | number | Minimum budget (no taxes) |
maxBudget | number | Maximum budget (no taxes) |
Example
bash
curl -X POST https://api-rest.tendios.com/api/v1/tenders/search \
-H "api-key: tend_your_key" \
-H "Content-Type: application/json" \
-d '{ "text": "IT services", "pageSize": 10, "locations": ["country/ES"] }'Response — see Pagination for the envelope shape.
Get tender by ID
http
GET /v1/tenders/{id}Returns the full detail of a single tender.
Path params
| Param | Description |
|---|---|
id | Tender ID (e.g. 507f1f77bcf86cd799439011) |
Example
bash
curl https://api-rest.tendios.com/api/v1/tenders/507f1f77bcf86cd799439011 \
-H "api-key: tend_your_key"Get tender sheets
http
GET /v1/tenders/{id}/sheetsReturns all document sheets attached to a tender.
Path params
| Param | Description |
|---|---|
id | Tender ID |
Download tender sheet
http
GET /v1/tenders/sheets/{sheetId}/downloadDownloads a single tender document file.
Path params
| Param | Description |
|---|---|
sheetId | Sheet ID |
Organizations
Get organization profile
http
GET /v1/organizations/{slug}Returns the public profile of an organization (bidder or contracting body).
Path params
| Param | Description |
|---|---|
slug | Organization slug (e.g. altia-consultores-sa) |
Response fields
| Field | Type | Description |
|---|---|---|
id | string | Organization ID |
name | string | Organization name |
type | string | bidder or public-contracting-institution |
taxId | string? | Tax identification number |
activity | string? | Business activity description |
country | string? | ISO 3166-1 alpha-2 country code |
address | object? | { city, province, postCode, street } |
webUrl | string? | Website URL |
logo | string? | Logo image URL |
Example
bash
curl https://api-rest.tendios.com/api/v1/organizations/altia-consultores-sa \
-H "api-key: tend_your_key"Get organization award statistics
http
GET /v1/organizations/{slug}/awardsReturns yearly award statistics and sector breakdown for an organization.
Path params
| Param | Description |
|---|---|
slug | Organization slug |
Response fields
| Field | Type | Description |
|---|---|---|
organizationId | string | Organization ID |
organizationName | string | Organization name |
type | string | bidder or public-contracting-institution |
stats | array | Yearly stats: [{ year, count, totalAmount }] |
sectors | array | CPV sector breakdown: [{ divisionCode, divisionNameEn, divisionNameEs, emoji, count, percentage }] |
Example
bash
curl https://api-rest.tendios.com/api/v1/organizations/altia-consultores-sa/awards \
-H "api-key: tend_your_key"CPV codes
Get CPV details
http
GET /v1/cpv/{code}Returns details for a CPV code including names in 7 EU languages.
Path params
| Param | Description |
|---|---|
code | CPV code (e.g. 72000000) |
Response fields
| Field | Type | Description |
|---|---|---|
code | string | CPV code |
type | string | division | group | class | category |
nameEn | string? | Name in English |
nameEs | string? | Name in Spanish |
nameFr | string? | Name in French |
nameDe | string? | Name in German |
nameIt | string? | Name in Italian |
nameCa | string? | Name in Catalan |
namePt | string? | Name in Portuguese |
emoji | string? | Emoji representing the category |
fontAwesomeIcon | string? | Font Awesome icon name |
Example
bash
curl https://api-rest.tendios.com/api/v1/cpv/72000000 \
-H "api-key: tend_your_key"Alerts
Get alert tender results
http
POST /v1/alerts/{alertId}/resultsReturns tenders that match a saved alert.
Path params
| Param | Description |
|---|---|
alertId | Alert ID |
Kanban
These endpoints expose the CRM pipeline kanban board. They require the API key of the account that owns the pipeline.
Get pipeline status totals
http
GET /v1/kanban/{pipelineId}/statusReturns opportunity counts and total amounts grouped by pipeline status — used to render kanban column headers.
Path params
| Param | Description |
|---|---|
pipelineId | Pipeline ID |
Query params
| Param | Type | Description |
|---|---|---|
responsible | string[] | Filter by responsible user IDs |
teamResponsible | string[] | Filter by responsible team IDs |
Response — array of:
| Field | Type | Description |
|---|---|---|
status | object | { id, name, isInitial, isTerminal, pipelineId, outcomeType, sortPoints, showInKanban, backgroundColor?, textColor?, description? } |
opportunityCount | number | Number of opportunities in this status |
totalAmount | number | Sum of opportunity amounts |
currency | string | Currency code (e.g. EUR) |
Get opportunities by status
http
GET /v1/kanban/{pipelineId}/status/{statusId}/opportunitiesReturns paginated opportunities for a single kanban column.
Path params
| Param | Description |
|---|---|
pipelineId | Pipeline ID |
statusId | Pipeline status ID |
Query params
| Param | Type | Default | Description |
|---|---|---|---|
page | number | 1 | Page number |
pageSize | number | 10 | Results per page |
sort | string | — | Sort order |
Search kanban opportunities
http
GET /v1/kanban/{pipelineId}/searchSearches opportunities across all statuses in a pipeline. Returns a map of statusId → opportunities[].
Path params
| Param | Description |
|---|---|
pipelineId | Pipeline ID |
Query params
| Param | Type | Default | Description |
|---|---|---|---|
search | string | — | Text search term |
limit | number | 10 | Max opportunities per status (max 50) |
responsible | string[] | — | Filter by responsible user IDs |
teamResponsible | string[] | — | Filter by responsible team IDs |
sort | string | — | Sort order |
API Key
Get API key info
http
GET /v1/api-keyReturns metadata about the API key in use — rate limit, expiry, last usage.
Example
bash
curl https://api-rest.tendios.com/api/v1/api-key \
-H "api-key: tend_your_key"