REST: Difference between revisions

From OSSelot
Jump to navigation Jump to search
(Added scheme to retrieve all versions at once with JSON)
(Added OpenAPI specification)
 
(One intermediate revision by the same user not shown)
Line 19: Line 19:
<script src="/scripts/osadl.js">
<script src="/scripts/osadl.js">
</script>
</script>
<h4 style="padding-bottom: 8px;">Use the below select box and search field to define a data format and enter the name of a software package. Then select one of the available software versions to immediately run the REST interface for the given package and display the <span style="font-family: OSSelot-Bold; font-weight: 500; color: #1565af;">O</span> curation data in a new window</h4>
<h4 style="padding-bottom: 8px;">Use the below select box and search field to define a data format and enter the name of a software package. Then select one of the available software versions to immediately run the REST interface for the given package and display the <span style="font-family: OSSelot-Bold; font-weight: 500; color: #1565af;">OSSelot</span> curation data in a new window</h4>
<span><label for="formats">Format: </label>
<span><label for="formats">Format: </label>
<select onchange="onselectchange(this, 'rest' + document.getElementById('formats').value);" name="formats" id="formats">
<select onchange="onselectchange(this, 'rest' + document.getElementById('formats').value);" name="formats" id="formats">
Line 28: Line 28:
</select>
</select>
<input type="text" onkeyup="searchtextkeyup(event, this, 'rest' + document.getElementById('formats').value);" size="30" />
<input type="text" onkeyup="searchtextkeyup(event, this, 'rest' + document.getElementById('formats').value);" size="30" />
<button onclick="searchOSSelot(this, 'rest' + document.getElementById('formats').value);">Search the <span style="font-family: OSSelot-Bold; font-weight: 500; color: #1565af;">O</span> repository</button><br />
<button onclick="searchOSSelot(this, 'rest' + document.getElementById('formats').value);">Search the <span style="font-family: OSSelot-Bold; font-weight: 500; color: #1565af;">OSSelot</span> repository</button><br />
<span style="display: none;"></span>
<span style="display: none;"></span>
</span>
</span>
</html>
</html>
====OpenAPI schema====
The OpenAPI schema is available [https://raw.githubusercontent.com/Open-Source-Compliance/package-analysis/refs/heads/main/openapi.yaml here] and should also be listed on the various public OpenAPI specs collections.

Latest revision as of 15:17, 30 September 2025

Obtain curation data via a REST interface

Available formats

Currently, the curated data are available in JSON, RDF-XML, SPDX2TV and YAML format.

Scheme

This REST interface is available through standard HTTP protocol and the following scheme:

http://rest.osselot.org/<format>/<package>/<version>

Alternatively and if needed, the SSL-enabled port can be used in which case the scheme has the form

https://rest.osselot.org/<format>/<package>/<version>

where <format> may be any of "json", "spdx", "xml" or "yaml". The version must be given when RDF-XML, SPDX2TV or YAML format is used. Only JSON format permits to retrieve all curated versions of a software package with a single REST call. When this is intended the scheme has the form

https://rest.osselot.org/json/<package>

and the various versions will be encapsulated in a JSON super object.

Use the below select box and search field to define a data format and enter the name of a software package. Then select one of the available software versions to immediately run the REST interface for the given package and display the OSSelot curation data in a new window


OpenAPI schema

The OpenAPI schema is available here and should also be listed on the various public OpenAPI specs collections.