Twitter LinkedIn
Return to Wellspring

Flintbox News

About the Flintbox API

About the Flintbox API

The Flintbox API provides a web services interface for importing projects into flintbox.com. Using our web services API, you can distribute materials and software faster and easier by eliminating the process of entering data by hand.

With this approach, a simple client program running over the Internet acts as the connection between your data and flintbox.com. You can choose a wide variety of languages and technologies to implement your client program including but not limited to Java, C#, Perl, Python, Visual Basic, or Ruby.

Using the Flintbox API

The Flintbox API currently has a single endpoint:
https://flintbox.com/api/nvp/import

This URI must be accessed over a secure HTTPS connection and only supports FORM POST. HTTP GETs using this endpoint will fail. Client applications accessing the import endpoint must do the following:

  1. Create an XML document representing the project. See the flintbox XML section below for more information.
  2. Create an HTTPS connection to the endpoint above.
  3. Encode the form parameters, uname, passwd, and xml.
  4. POST the form parameters.
  5. Examine the results returned by the server in JSON format.

Authentication

The import interface takes a username and password in addition to the xml argument. The username must be affiliated with a flintbox group in order to create projects via import. If you do not have a group you can request one by emailing support@flintbox.com.

Arguments

uname (required) - The username of the  Flintbox user with permissions to create projects.

passwd (required) - The password of the Flintbox user with permissions to create projects.

xml (required) - The xml describing the project to be imported.

Flintbox XML

The Flintbox XML format represents a variety of information about a project. This document includes basic information such as the project title and abstract but also more complex information such as intellectual property and researchers.

Basic Example

https://www.flintbox.com/static/api/examples/basic_example.xml

This example represents a very simple project with the minimally required information.

Researchers Example

https://www.flintbox.com/static/api/examples/researchers_example.xml

This example shows how to add researchers to a project. In addition to researchers, this example demonstrates how to add project members or licensing officers.

Text Elements Example

https://www.flintbox.com/static/api/examples/text_elements_example.xml

Flintbox provides a general way of adding extra descriptive text to any of your projects. This is accomplished using a construct we call text elements. Text elements contain a name and the descriptive text. This example shows how to add two additional text elements (Long Description and Applications and Uses); however, you can generate as many text elements as you like with arbitrary names.

Intellectual Property Example

https://www.flintbox.com/static/api/examples/patents_example.xml

Flintbox also allows you to publish information regarding intellectual property related to a project.

Error Codes

Error codes are returned in JSON format.

Working Example Clients

Python Example (vo.1) (zip file: 20KB)