Polish tenders: search, AI summaries. Trial/paid: matched tenders, pipeline, archive, doc filling
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Adds a tender to the signed-in company's 'Moje przetargi' — the same as 'Dodaj do Moich' in Przetargowy Janusz: a new entry in the 'Do_przejrzenia' column (one removed earlier comes back there) and its AI summary queued. A tender already there stays as it is. By tender_id (from search_tenders, list_matched_tenders or get_tender) or public slug. Returns the result (added / restored / already), the status and the workspace link. Requires OAuth authentication and a trial or paid plan.
public slug, when there is no tender_id
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Adds a tender to the signed-in company's 'Moje przetargi' — the same as 'Dodaj do Moich' in Przetargowy Janusz: a new entry in the 'Do_przejrzenia' column (one removed earlier comes back there) and its AI summary queued. A tender already there stays as it is. By tender_id (from search_tenders, list_matched_tenders or get_tender) or public slug. Returns the result (added / restored / already), the status and the workspace link. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| slug | string | public slug, when there is no tender_id |
| tender_id | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "public slug, when there is no tender_id"
},
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Sets the offer price (net PLN) of a tender in 'Moje przetargi' — the same as choosing the price in Przetargowy Janusz: one of Janusz's price variants (aggressive, realistic, higher — listed in get_my_tender fill_details.price_proposals) or variant 'manual' with amount. The price goes into the offer documents. Only with the price the user stated or picked. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| amount | number | net PLN — required for variant 'manual' |
| variant* | string | |
| rationale | string | |
| tender_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tender_id",
"variant"
],
"properties": {
"amount": {
"type": "number",
"description": "net PLN — required for variant 'manual'",
"exclusiveMinimum": 0
},
"variant": {
"enum": [
"aggressive",
"realistic",
"higher",
"manual"
],
"type": "string"
},
"rationale": {
"type": "string",
"maxLength": 400
},
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Resolve CPV codes to their Polish labels. Pass an array of full codes (e.g. ['45000000-7']).
| Argument | Type | Description |
|---|---|---|
| codes* | array |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"codes"
],
"properties": {
"codes": {
"type": "array",
"items": {
"type": "string",
"pattern": "^\\d{8}-\\d$"
},
"maxItems": 500,
"minItems": 1
}
}
}Resolve free-text to CPV codes (the EU Common Procurement Vocabulary used to classify tenders). Returns matching codes with Polish labels. Use the codes with list_tenders filter='category' (division = first 8 digits).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"default": 40,
"maximum": 100,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 1
}
}
}Monthly market statistics for one CPV category, as on its public statistics page: awards with a price, median and p10/p90 award value, average offers per award, distinct winners, top winners, biggest awards and the regional split. Available for these 8-digit codes: 45000000, 33000000, 71000000, 90000000, 34000000, 39000000, 55000000, 30000000, 48000000, 79000000, 50000000, 09000000, 38000000, 15000000, 80000000, 72000000, 85000000, 60000000, 42000000, 31000000, 32000000, 44000000.
| Argument | Type | Description |
|---|---|---|
| cpv* | string | 8-digit CPV code, check digit optional, e.g. '45000000' |
| month | string | YYYY-MM; defaults to the latest closed month |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"cpv"
],
"properties": {
"cpv": {
"type": "string",
"maxLength": 10,
"minLength": 8,
"description": "8-digit CPV code, check digit optional, e.g. '45000000'"
},
"month": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}$",
"description": "YYYY-MM; defaults to the latest closed month"
}
}
}Walk the CPV hierarchy. Omit `parent` for top-level divisions; pass a code (e.g. '45000000-7') to list its children. Each node flags whether it has children.
| Argument | Type | Description |
|---|---|---|
| parent | any |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"parent": {
"anyOf": [
{
"type": "string",
"pattern": "^\\d{8}-\\d$"
},
{
"type": "null"
}
]
}
}
}Profile of one contracting authority (zamawiający) by slug (from search_entities or a tender's authority): identity (NIP, REGON, KRS, region), counts, its active tenders, recent awards with winners, top contractors, procurement plan positions and recent contracts — or, on older pages, its tenders and public finance (municipal budget, NFZ contracts, investments). Same data as its public page.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
}
}Profile of one contractor (wykonawca — company or sole trader) by slug (from search_entities or a buyer's results): registry data (REGON, legal form, VAT status, PKD, debtor-register flags), wins and offers, recent wins and losses, its main buyers, rivals it meets, and recent public contracts. Same data as its public page.
| Argument | Type | Description |
|---|---|---|
| slug* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
}
}One tender from the signed-in company's 'Moje przetargi' by tender_id (from list_my_tenders or list_matched_tenders): pipeline status and its history, deadlines, the AI summary state (ready / requested / no_documents / none), the number of tender documents and archive files, the last document fill run, what filling in its documents still needs (fill_details: missing details, confirmed values, Janusz's price proposals), and links to its workspace in the app and its public page. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| tender_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tender_id"
],
"properties": {
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Fetch full detail for one tender by its public slug (from search_tenders/list_tenders results): metadata, the 12-section AI SWZ summary, the OPZ scope brief, full award results (winner, value, offer price band, rejected offers, whether the cheapest offer won), the cancelled predecessor it re-issues (with that procedure's offer band — a price signal), the EU project funding it, and the bidders' Q&A. A tender without an AI summary (has_summary=false) returns its notice data with summary_sections and scope_brief null, like its public page. Returns not-found for non-public tenders.
| Argument | Type | Description |
|---|---|---|
| slug* | string | public_slug from a listing result |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"slug"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "public_slug from a listing result"
}
}
}The text read from a tender's documentation (SWZ, OPZ and attachments; the specification first), by tender_id or public slug, 20000 characters per call (pass next_offset as offset for the rest), with the list of documents it came from. Empty when no document text has been read yet. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| slug | string | public slug, when there is no tender_id |
| offset | integer | |
| tender_id | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "public slug, when there is no tender_id"
},
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0
},
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}One file from the signed-in company's document archive (file_id from list_tender_files): its text, 20000 characters per call (pass next_offset as offset for the rest), and a download link valid for 5 minutes. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| offset | integer | |
| file_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"file_id"
],
"properties": {
"offset": {
"type": "integer",
"default": 0,
"maximum": 9007199254740991,
"minimum": 0
},
"file_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}List the browsable facets of the active tender set: CPV categories, voivodeships (regions), and cities, each with a count and the slug/code to pass to list_tenders. Call this to discover valid filter values.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}The signed-in company's matched tenders — the list in Przetargowy Janusz built from its profile (CPV codes, voivodeships, budget): view 'recommended' (filtered by what the company does, when its profile says so) or 'all'. 50 per page, each with fit_score (0–100), has_summary, an app_url and the public url. Without CPV codes in the profile there is no list — the answer says so with a link to the profile. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| dir | string | |
| kind | string | works, supplies or services |
| page | integer | |
| sort | string | |
| view | string | |
| query | string | |
| regions | array | Voivodeships (slug or name from list_facets); default: the company profile |
| max_value | number | Maximum estimated value (PLN); overrides the profile budget |
| min_value | number |
List the signed-in user's saved alert profiles (saved searches / notification rules): query, CPV codes, regions, budget band, and delivery settings. Requires OAuth authentication and a trial or paid plan.
No arguments.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}List the tenders in the signed-in user's pipeline ('Moje przetargi'), most recently updated first, with each one's pipeline status and public URL. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| limit | integer |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"limit": {
"type": "integer",
"default": 25,
"maximum": 100,
"minimum": 1
}
}
}Files in the document archive of one tender from the signed-in company's 'Moje przetargi' (tender_id): the tender's documents copied in, the company's uploads and the documents Janusz filled — with type, version and date. Read one with get_tender_file. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| tender_id* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tender_id"
],
"properties": {
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Browse tenders without a text query. `filter` selects the axis: 'all' (every active tender, or archived when archived=true), 'category' (CPV division code from list_facets), 'region' (voivodeship slug from list_facets), or 'city' (city slug from list_facets). Use list_facets first to get valid values.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| value | string | Required for category/region/city. CPV division code (e.g. '45000000'), region slug, or city slug — all from list_facets. |
| filter | string | |
| archived | boolean | Only for filter='all': return finished tenders instead. |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 200,
"minimum": 1
},
"value": {
"type": "string",
"maxLength": 64,
"description": "Required for category/region/city. CPV division code (e.g. '45000000'), region slug, or city slug — all from list_facets."
},
"filter": {
"enum": [
"all",
"category",
"region",
"city"
],
"type": "string",
"default": "all"
},
"archived": {
"type": "boolean",
"default": false,
"description": "Only for filter='all': return finished tenders instead."
}
}
}Orders the AI summary of a tender's documentation (SWZ) — the same as 'Wygeneruj teraz' in Przetargowy Janusz: queues the summary, or first the download or reading of the tender documents. By tender_id or public slug. status: already-done (the summary is there — read it with get_tender or get_my_tender), generating (ready in a few minutes), fetch-needed (documents are being downloaded — ask again in a few minutes), extraction-needed (no SWZ among the documents), no-source / no-documents (nothing to summarize), error. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| slug | string | public slug, when there is no tender_id |
| tender_id | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "public slug, when there is no tender_id"
},
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
}
}
}Find contracting authorities (kind='buyer', zamawiający) or contractors (kind='contractor', wykonawcy — companies and sole traders) by name or NIP. Returns each match with its slug and public URL; pass the slug to get_buyer / get_contractor.
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| limit | integer | |
| query* | string | Name fragment or NIP, e.g. 'gmina wieliczka' or '6772...' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"kind",
"query"
],
"properties": {
"kind": {
"enum": [
"buyer",
"contractor"
],
"type": "string"
},
"limit": {
"type": "integer",
"default": 20,
"maximum": 50,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 2,
"description": "Name fragment or NIP, e.g. 'gmina wieliczka' or '6772...'"
}
}
}Search the signed-in company's matched tenders by words — the search box of the tender list in Przetargowy Janusz: only tenders that fit the company profile (CPV codes, voivodeships). view 'recommended' (filtered by what the company does, when its profile says so) or 'all'; 50 per page, the same tender cards as list_matched_tenders. To search all Polish tenders, use search_tenders. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| page | integer | |
| view | string | |
| query* | string |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"page": {
"type": "integer",
"default": 1,
"maximum": 200,
"minimum": 1
},
"view": {
"enum": [
"recommended",
"all"
],
"type": "string",
"default": "recommended"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
}
}
}Semantic search over active Polish public tenders (przetargi) by meaning, with optional filters. Ranks by relevance (hybrid vector + keyword). Returns paginated tender cards, each with a public URL. Tenders without an AI summary yet are included: their card has has_summary=false and no teaser, get_tender returns their notice data, and a signed-in user on a trial or paid plan can order the summary in Przetargowy Janusz. `mode` is 'semantic', or 'lexical' when the embedding service is temporarily unavailable; `unapplied_filters` then lists the filters it could not apply exactly.
| Argument | Type | Description |
|---|---|---|
| cpv | string | Restrict to tenders whose CPV includes this code |
| page | integer | |
| query* | string | Natural-language query, e.g. 'budowa hali sportowej z basenem' |
| region | string | Voivodeship (województwo): slug or name from list_facets, e.g. 'slaskie' or 'śląskie' |
| max_value | number | Maximum estimated value (PLN) |
| min_value | number | Minimum estimated value (PLN) |
| deadline_before | string | ISO date; only tenders with submission deadline before it |
Sets the details Janusz needs to fill in the documents of a tender in 'Moje przetargi' — the completion deadline and the signatory's name and role — as the user stated them (the same details the Janusz chat in the app records). Only the given fields change. Returns what is still missing before start_fill; the offer price is set with confirm_bid_price. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| tender_id* | string | |
| signatory_name | string | full name of the person signing the offer |
| signatory_role | string | e.g. 'Prezes Zarządu' |
| completion_deadline | string | e.g. '30 dni od podpisania umowy' or '2026-12-15' |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tender_id"
],
"properties": {
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"signatory_name": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "full name of the person signing the offer"
},
"signatory_role": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "e.g. 'Prezes Zarządu'"
},
"completion_deadline": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "e.g. '30 dni od podpisania umowy' or '2026-12-15'"
}
}
}Moves a tender of the signed-in company's 'Moje przetargi' (tender_id) to another status, with the moves the app allows: between the company's own kanban stages (e.g. Do_przejrzenia), to Do_wysłania or Oczekiwanie_na_wynik, closing it as Wygrana, Uczciwa_przegrana, Nieuczciwa_przegrana, Anulowane, Do_odwołania or Odpuszczam, back from Do_wysłania / Oczekiwanie_na_wynik to a work stage, and an appeal to Udane_odwołanie or Nieudane_odwołanie. Odpuszczam needs a reason; for a loss, cancellation or appeal the reason is optional, for Wygrana the contract value. A refused move lists the allowed statuses. Saved to the status history; the rest of the team is notified as in the app. Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| reason | string | why — required for Odpuszczam; for losses, cancellation and appeals optional |
| status* | string | target status: a kanban column id of the company or a system status |
| tender_id* | string | |
| winning_price | number | contract value in PLN, for Wygrana |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tender_id",
"status"
],
"properties": {
"reason": {
"type": "string",
"maxLength": 2000,
"description": "why — required for Odpuszczam; for losses, cancellation and appeals optional"
},
"status": {
"type": "string",
"maxLength": 50,
"minLength": 1,
"description": "target status: a kanban column id of the company or a system status"
},
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"winning_price": {
"type": "number",
"maximum": 1000000000000000,
"minimum": 0,
"description": "contract value in PLN, for Wygrana"
}
}
}Starts filling in the documents of a tender in 'Moje przetargi' (forms, declarations, price form) with the company's data — the same as 'Wypełnij' in Przetargowy Janusz; it takes a few minutes. Janusz needs the offer price, the completion deadline and the signatory's name and role first: status missing_facts lists what is missing — set it with confirm_bid_price and set_fill_details, or, only after the user agrees to fill in with what there is, call again with allow_missing=true (the app's 'Wypełnij z tym co jest'). Progress: get_my_tender (last_fill); the filled files: list_tender_files. Counts toward the plan's fill limit. status: started, missing_facts, nip_required (the company's NIP is not set), fill_limit, rate_limit (8 per day per person). Requires OAuth authentication and a trial or paid plan.
| Argument | Type | Description |
|---|---|---|
| tender_id* | string | |
| allow_missing | boolean | fill in despite missing details — only when the user agreed |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"tender_id"
],
"properties": {
"tender_id": {
"type": "string",
"format": "uuid",
"pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
},
"allow_missing": {
"type": "boolean",
"default": false,
"description": "fill in despite missing details — only when the user agreed"
}
}
}| Minimum estimated value (PLN); overrides the profile budget |
| deadline_before | string | ISO date; only tenders with submission deadline before it |
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"dir": {
"enum": [
"asc",
"desc"
],
"type": "string"
},
"kind": {
"enum": [
"roboty",
"dostawy",
"uslugi"
],
"type": "string",
"description": "works, supplies or services"
},
"page": {
"type": "integer",
"default": 1,
"maximum": 200,
"minimum": 1
},
"sort": {
"enum": [
"relevance",
"deadline",
"value",
"published_at"
],
"type": "string"
},
"view": {
"enum": [
"recommended",
"all"
],
"type": "string",
"default": "recommended"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"regions": {
"type": "array",
"items": {
"type": "string",
"maxLength": 40,
"minLength": 2
},
"maxItems": 16,
"description": "Voivodeships (slug or name from list_facets); default: the company profile"
},
"max_value": {
"type": "number",
"minimum": 0,
"description": "Maximum estimated value (PLN); overrides the profile budget"
},
"min_value": {
"type": "number",
"minimum": 0,
"description": "Minimum estimated value (PLN); overrides the profile budget"
},
"deadline_before": {
"type": "string",
"description": "ISO date; only tenders with submission deadline before it"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"cpv": {
"type": "string",
"pattern": "^\\d{8}-\\d$",
"description": "Restrict to tenders whose CPV includes this code"
},
"page": {
"type": "integer",
"default": 1,
"maximum": 200,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 120,
"minLength": 1,
"description": "Natural-language query, e.g. 'budowa hali sportowej z basenem'"
},
"region": {
"type": "string",
"maxLength": 40,
"minLength": 2,
"description": "Voivodeship (województwo): slug or name from list_facets, e.g. 'slaskie' or 'śląskie'"
},
"max_value": {
"type": "number",
"minimum": 0,
"description": "Maximum estimated value (PLN)"
},
"min_value": {
"type": "number",
"minimum": 0,
"description": "Minimum estimated value (PLN)"
},
"deadline_before": {
"type": "string",
"description": "ISO date; only tenders with submission deadline before it"
}
}
}