# GET /v1/notices/{id}

One published notice

Open to any caller. A key is not required and does not change the answer.

Returns one published notice by its id, which never changes. Every notice of a procurement answers here, including those the listing shows under another notice; `listedNotice` names that one. To start from the slug in a notice's address on fentlig.se, use `GET /v1/notices?slug=`, which answers with this same body. No API key is needed; every published notice is also a page on fentlig.se, listed in https://fentlig.se/sitemap.xml.

## Request

```bash
curl "https://api.fentlig.se/v1/notices/<id>"
```

## Parameters

| Parameter | In | Type | Required | Notes |
| --- | --- | --- | --- | --- |
| `id` | path | string | yes | uuid |
| `country` | query | string | no |  |
| `foreign_buyers` | query | enum | no | `exclude`, `include` |

## Response 200

The notice

| Field | Type | Notes |
| --- | --- | --- |
| `data` | object |  |
| `data.id` | string | uuid |
| `data.slug` | string |  |
| `data.title` | string |  |
| `data.buyerName` | string | nullable |
| `data.buyerId` | string | nullable · uuid |
| `data.buyerUnit` | object | nullable |
| `data.buyerUnit.name` | string |  |
| `data.buyerUnit.kind` | enum | nullable · `joint_centre`, `null` |
| `data.buyerUnit.id` | string | nullable |
| `data.status` | enum | `planned`, `open`, `closed`, `concluded` |
| `data.publicationDate` | string | date-time |
| `data.deadlineDate` | string | nullable · date-time |
| `data.regionCodes` | string[] |  |
| `data.mainCpv` | object | nullable |
| `data.mainCpv.code` | string |  |
| `data.mainCpv.label` | string | nullable |
| `data.mainCpv.isMain` | boolean |  |
| `data.procedureCode` | string | nullable |
| `data.estimatedValue` | number | nullable |
| `data.currency` | string | nullable |
| `data.source` | string |  |
| `data.sourceUrl` | string | nullable |
| `data.description` | string | nullable |
| `data.cpvCodes` | object[] |  |
| `data.cpvCodes[].code` | string |  |
| `data.cpvCodes[].label` | string | nullable |
| `data.cpvCodes[].isMain` | boolean |  |
| `data.regions` | object[] |  |
| `data.regions[].code` | string |  |
| `data.regions[].name` | string | nullable |
| `data.noticeType` | string |  |
| `data.publicationNumber` | string | nullable |
| `data.frameworkMaxValue` | number | nullable |
| `data.awardOutcome` | object | nullable |
| `data.awardOutcome.awardDate` | string | nullable · date-time |
| `data.awardOutcome.bidCount` | integer | nullable · min 0 |
| `data.awardOutcome.awardedValue` | number | nullable |
| `data.awardOutcome.currency` | string | nullable |
| `data.awardOutcome.lotCount` | integer | min 0 |
| `data.awardOutcome.lotsAwarded` | integer | nullable · min 0 |
| `data.awardOutcome.lotsNotAwarded` | integer | nullable · min 0 |
| `data.awardOutcome.lotsUndecided` | integer | nullable · min 0 |
| `data.related` | object[] |  |
| `data.related[].id` | string | uuid |
| `data.related[].slug` | string |  |
| `data.related[].title` | string |  |
| `data.related[].status` | enum | `planned`, `open`, `closed`, `concluded` |
| `data.related[].publicationDate` | string | date-time |
| `data.depthWithheld` | boolean |  |
| `data.resultPublishedElsewhere` | boolean |  |
| `data.resultNoticeCount` | integer | min 0 |
| `data.resultNotices` | object[] |  |
| `data.resultNotices[].id` | string | uuid |
| `data.resultNotices[].slug` | string |  |
| `data.resultNotices[].title` | string |  |
| `data.resultNotices[].status` | enum | `planned`, `open`, `closed`, `concluded` |
| `data.resultNotices[].publicationDate` | string | date-time |
| `data.listedNotice` | object | nullable |
| `data.listedNotice.id` | string | uuid |
| `data.listedNotice.slug` | string |  |
| `data.listedNotice.status` | enum | `planned`, `open`, `closed`, `concluded` |
| `data.listedNotice.deadlineDate` | string | nullable · date-time |
| `coverage` | object |  |
| `coverage.sources` | string[] |  |
| `coverage.attribution` | object[] |  |
| `coverage.attribution[].source` | string |  |
| `coverage.attribution[].text` | string |  |
| `coverage.dataAsOf` | string | nullable · date-time |
| `coverage.isComplete` | enum | `false` |
| `coverage.note` | string |  |

## Failures

| Status | Meaning |
| --- | --- |
| 400 | The path segment is not a notice id |
| 401 | The API key sent is unknown, revoked or expired. Send a valid key, or none on an operation that needs none. |
| 403 | The API key sent belongs to a workspace whose subscription has ended. The same request without a key answers. |
| 404 | No published notice has this id in the markets the request covers |
| 429 | Too many requests in the current window, from this key or, without a key, from this address. Wait the number of seconds in `Retry-After`, then send the request again. |

Every failure is an RFC 9457 problem document. See https://fentlig.se/utvecklare/fel.

Base URL: https://api.fentlig.se
