The Breeding API specifies a standard interface for plant phenotype/genotype databases to serve their data to crop breeding applications. It is a shared, open API, to be used by all data providers and data consumers who wish to participate. Initiated in May 2014, it is currently in an actively developing state, so now is the time for potential participants to help shape the specifications to ensure their needs are addressed. The listserve for discussions and announcements is here. Additional documentation is in the Github wiki. For demos and implementations examples checkout apiary documentation.
Use the BrAPI Getting Started Guide to start using BrAPI now.
What Is BrAPI?
The Breeding API (BrAPI) is a Standardized RESTful Web Service API Specification for communicating Plant Breeding Data. BrAPI allows for easy data sharing between databases and tools involved in plant breeding.
- An Application Programming Interface (API) is used to interact with and control an application programatically. Just as a User Interface (UI) allows a human user to interact with an application, an API allows a separate piece of code to interact with an application. An API can be used to send input data, receive output data, configure settings, and trigger actions within an application.
- Web Service
- Web Services are computational services accessed over a computer network. Typically, when people talk about web services, they are referring to a standardized web service communication protocol. The 2 web service protocols which are currently the most popular are SOAP and REST.
- Although the above paragraph indicates REpresentational State Transfer (REST) is a web service protocol, strictly speaking, it is an architecture or design framework. The REST architectural ideas are applied by using the HTTP protocol for information transport. REST uses the standard HTTP verbs (GET, POST, PUT, etc) to define different types of actions, and URLs to indicate where a request should be sent and what input data to use. When sending or receiving data, complex data structures are typically defined using JSON or XML.
- BrAPI is an attempt to standardize the commands and data structures needed for typical plant breeding applications.
- At the core, BrAPI is a standardized Specification. BrAPI is not a tool for transporting data, it only documentation which describes how to transport data.