OpenTox API 1.2
Mrautenberg (Talk | contribs) (Created page with "==API 1.2== '''Interface specifications for OpenTox services (Version 1.2).''' ===Common specifications for all APIs=== OpenTox components are webservices with a REST (http://e...") |
Mrautenberg (Talk | contribs) |
||
Line 5: | Line 5: | ||
OpenTox components are webservices with a REST (http://en.wikipedia.org/wiki/Representational_State_Transfer) interface. | OpenTox components are webservices with a REST (http://en.wikipedia.org/wiki/Representational_State_Transfer) interface. | ||
− | Parameters | + | |
+ | ====Parameters==== | ||
Parameters are posted with a "Content-Type:application/x-www-form-urlencoded" HTTP header. Parameter names are typed in bold letters in the API definitions. Square brackets (e.g. compound_uris[]) indicate that a list of arguments is expected. | Parameters are posted with a "Content-Type:application/x-www-form-urlencoded" HTTP header. Parameter names are typed in bold letters in the API definitions. Square brackets (e.g. compound_uris[]) indicate that a list of arguments is expected. | ||
Line 15: | Line 16: | ||
subjectid is a (optional) parameter that contains the OpenSSO A&A token needed to access protected services. | subjectid is a (optional) parameter that contains the OpenSSO A&A token needed to access protected services. | ||
− | Examples: | + | '''Examples:''' |
curl -X GET http://{server}/dataset?compound_uris[]={compound_uri1}&compound_uris[]={compound_uri2}) | curl -X GET http://{server}/dataset?compound_uris[]={compound_uri1}&compound_uris[]={compound_uri2}) | ||
Line 21: | Line 22: | ||
curl -X POST -d 'dataset_uri=http://{server}/dataset/5' http://{server}/algorithm/xxx | curl -X POST -d 'dataset_uri=http://{server}/dataset/5' http://{server}/algorithm/xxx | ||
− | Request and submit formats | + | ====Request and submit formats==== |
The default OpenTox format is RDF/XML (with exception of the compound API), but service developers may support additional formats. You can request them, by specifying the MIME type in the "Accept" and "Content-Type" HTTP headers. | The default OpenTox format is RDF/XML (with exception of the compound API), but service developers may support additional formats. You can request them, by specifying the MIME type in the "Accept" and "Content-Type" HTTP headers. | ||
If the service cannot serve the requested format, the default format (usually RDF/XML) will be returned. | If the service cannot serve the requested format, the default format (usually RDF/XML) will be returned. | ||
− | Examples: | + | |
+ | '''Examples:''' | ||
Request a compound in SDF format: | Request a compound in SDF format: | ||
Line 39: | Line 41: | ||
curl -X POST -H "Content-Type:application/rdf+xml" --data-binary@my_data_file.rdf http://{server}/dataset | curl -X POST -H "Content-Type:application/rdf+xml" --data-binary@my_data_file.rdf http://{server}/dataset | ||
− | File uploads | + | |
+ | ====File uploads==== | ||
Files can be uploaded by specifying "multipart/form-data" in the Content-Type header. | Files can be uploaded by specifying "multipart/form-data" in the Content-Type header. | ||
− | Bug reports and feature requests | + | |
+ | ====Bug reports and feature requests==== | ||
Please use our Issue tracker to report problems with the current API. You can also discuss the APIs on the developers mailing list. | Please use our Issue tracker to report problems with the current API. You can also discuss the APIs on the developers mailing list. |
Latest revision as of 11:09, 29 August 2011
Contents |
API 1.2
Interface specifications for OpenTox services (Version 1.2).
Common specifications for all APIs
OpenTox components are webservices with a REST (http://en.wikipedia.org/wiki/Representational_State_Transfer) interface.
Parameters
Parameters are posted with a "Content-Type:application/x-www-form-urlencoded" HTTP header. Parameter names are typed in bold letters in the API definitions. Square brackets (e.g. compound_uris[]) indicate that a list of arguments is expected.
Ampersands in URI attribute values (e.g. dataset_uri="/dataset/abc?feature_uri=/feature/x&feature_uri=/feature/z") should be escaped, as explained in http://www.w3.org/TR/html401/appendix/notes.html#ampersands-in-uris
For curl POST requests the -d/--data option should be used to ensure the content type. See [[1]] for more information on the -d parameter.
subjectid is a (optional) parameter that contains the OpenSSO A&A token needed to access protected services.
Examples:
curl -X GET http://{server}/dataset?compound_uris[]={compound_uri1}&compound_uris[]={compound_uri2})
curl -X POST -d 'dataset_uri=http://{server}/dataset/5' http://{server}/algorithm/xxx
Request and submit formats
The default OpenTox format is RDF/XML (with exception of the compound API), but service developers may support additional formats. You can request them, by specifying the MIME type in the "Accept" and "Content-Type" HTTP headers.
If the service cannot serve the requested format, the default format (usually RDF/XML) will be returned.
Examples:
Request a compound in SDF format:
curl -X GET -H "Accept:chemical/x-mdl-sdfile" http://{server}/compound/{id}
Submit a compound in InChI format:
curl -X POST -H "Content-Type:chemical/x-inchi" --data-binary "InChI=1S/C5H10/c1-2-4-5-3-1/h1-5H2" http://{server}/compound
Create a new dataset:
curl -X POST -H "Content-Type:application/rdf+xml" --data-binary@my_data_file.rdf http://{server}/dataset
File uploads
Files can be uploaded by specifying "multipart/form-data" in the Content-Type header.
Bug reports and feature requests
Please use our Issue tracker to report problems with the current API. You can also discuss the APIs on the developers mailing list.