Introduction
This document sets out to describe the mechanisms by which eSenders and others can feed their opportunities to the Find a Tender service,
and retrieve data regarding their submission.
Scope and purpose
The purpose of this document is to provide the required information to operate the Find a Tender REST API.
The Find a Tender application provides a REST API based on JSON to other applications in order to expose its services.
The Find a Tender application will expose the following REST operations:
Technical Specification
REST
Representational State Transfer (REST) is an architectural style based on the architecture of the Web and embraces HTTP.
Clients initiate requests to servers; servers process requests and return appropriate responses.
Requests and responses are built around the transfer of "representations" of "resources".
Authentication
Authentication is required to access the Find a Tender REST API.
To access to the Find a Tender REST API clients must be authenticated by using standard HTTP basic authentication over HTTPS.
Credentials
eSenders use the credentials provided to them to access the Find a Tender REST API, with the optional addition of customer logins.
Credentials are provided in the following forms:
- <eSender login>:<eSender web service password> e.g. "ABC01:password".
- <eSender login><customer login>:<eSender web service password> e.g. "ABC01XYZ1:password" (where XYZ1 is the customer login).
The eSender web service password can be edited in the Find a Tender web application.
eSenders can only access information on notices they have submitted on their own eSender login. The list of notices returned by the search notice method is filtered by customer login if one is specified.
Simple cURL example
curl -u TED12:password -X GET -H "Accept: application/json"
https://www.find-tender.service.gov.uk/api/latest/notice/submission/info/20240420-123456
Supplying Basic Auth headers
- Build a string of the form <eSender login>:<eSender web service password> (or for customers <eSender login><customer login>:<eSender web service password>).
- The created string should be Base64 encoded
- Supply an "Authorization" header with content "Basic" followed by the encoded string. For example, the string "TED12:password" encodes to "VEVEMTI6cGFzc3dvcmQ=" in base64, so you would make the request as follows:
curl -X GET -H "Authorization: Basic VEVEMTI6cGFzc3dvcmQ=" -H "Accept: application/json" https://www.find-tender.service.gov.uk/api/latest/notice/submission/info/20240420-123456
Mappings
Email Addresses
Email addresses must confirm with the standard pattern, i.e. similar to given.family@domain.ext. There is no further validation checking.
Interface specification
Find a Tender API
Please note, for use of the methods below, {version} may be specified as '1' or 'latest' e.g. /api/latest/notice/submission/submit
Input methods
API | Description |
POST /api/{version}/notice/submission/submit |
Request for publication of a procurement notice in OJ S (formatted as a document in 2.0.8 or 2.0.9 standard).
|
Output methods
API | Description |
GET /api/{version}/notice/submission/info/{submission_id} |
Gets notice information for a published or non published notice as a NoticeInformation object.
|
GET /api/{version}/notice/submission/search |
Searches all (published and non published) notice submissions of the eSender based on the parameters provided.
|
POST /api/{version}/notice/submission/render |
Renders in either HTML or PDF format a submitted notice or a valid Reception XML
|