The smartAPI project aims to maximize the FAIRness (Findability, Accessibility, Interoperability, and Reusability) of web-based Application Programming Interfaces (APIs). Rich metadata is essential to properly describe your API so that it becomes discoverable, connected, and reusable. We have developed a openAPI-based specification for defining the key API metadata elements and value sets. smartAPIs leverage the Hydra Web API specification and JSON-LD for providing semantically annotated JSON content that can be treated as Linked Data.
smartAPI Editor is an an extension to Swagger Editor. Swagger Editor lets you edit your API document in in YAML inside your browser and to preview documentations in real time.
Data analysis is increasingly being performed using cloud-based, web-friendly application programming interfaces (APIs). Thousands of tools and APIs are available through web service registries such as Programmable Web, BioCatalogue and cloud platforms such as Galaxy. Searching these and other API repositories to find a set of tools to retrieve or operate on data of interest presents a number of formidable challenges: users must not only supply the right combination of search terms, but must also closely examine the API outputs to determine whether they can be connected together. SmartAPIs tackle this challenge because they contain the rich metadata needed to precisely describe the service and the data that it operates on or provides.
Richly annotated APIs will provide the assets by which users will be able to search, browse, query, and reuse APIs. Users and intelligent agents being able to traverse a highly connected network of smartAPIs. Users will be able to automatically find APIs whose outputs are the inputs for other services. Ultimately, we envision the automatic generation of workflows that take users to where they want to go with what they have today.
NOTE: The following observations should be taken with a grain of salt as the smartAPI effort is still under development.
Project looks to have recently diverged it’s source from the swagger fork it was using: https://github.com/WebsmartAPI/smartAPI-editor
It was denoted during that hackathon that parameters were not necessarily parsed as expected when compared to standard swagger.
Seemingly valid syntax from swagger-editor is not always accepted by smartAPI-editor (Exposures API)