|
Scale-up Suite Dynochem, Reaction Lab and Numero provide tools to search and obtain data from external data sources via a common web service API (Scale-up Data Service API).
Alongside Data Services provided by Scale-up Systems, additional Data Services can be deployed and listed to allow users access to e.g. company internal Materials or other relevant project information.
The listing mechanism provides administrators with access control mechanisms to decide, who should avail of respective services. Services can reside securely on company internal networks. Scale-up Suite clients will connect directly to listed services if users are on the internal network or connected via VPN (see "Security and Logging" below).
The API provides the following operations
Operation |
Input |
Returns |
Text to be searched |
A list of search results with up to 4 property values (displayed in a table).
Optional chemical structure definition or bitmap image as tooltip
|
A list of item IDs |
A list of items with properties (name/value pairs, optional unit, can be images or chemical structure definition) |
|
|
Data Services can be listed as being General or Materials services.
Both service types are acessible from Dynochem and Numero, which are designed to access all kinds of data.
Only Materials Services are accessible from the Rection Lab materials search.
Materials Services implement the same API definition as General Services, but search results must return specific values as defined below.
If a Structure is provided it will be shown in a tooltip, otherwise the Image will be displayed (if provided).
Value |
Data |
Required |
Example |
CAS Number |
Yes |
"67-56-1" |
Name |
Yes |
"MEOH" |
Formula |
Yes |
"CH4O" |
Long Name |
Yes |
"Methanol" |
Chemical structure definition
Byte array as base64 string
Supported formats:
.cdxml, .cdx, .mol, .sdf, .rxn
|
No |
"DDFcrrpDRDAxMDAEAwI[...]" |
base64 string representing a bitmap image as byte array |
No |
"VmpDRDAxMDAEAwI[...]" |
Fetch results are expected to return the properties listed below with the defined property names (case sensitive). Additional properties can be returned to be available in Catalist.
Property Name |
Value |
Example |
CAS Number |
"67-56-1" |
Chemical formula |
"CH4O" |
Molecular Weight |
32.0418 |
Array of names |
["MeOH","Methyl alcohol"] |
Chemical structure definition
Byte array as base64 string
Supported formats:
.cdxml, .cdx, .mol, .sdf, .rxn
Can be null
|
"VmpDRDAxMDAEAwI[...]" |
See the API Reference for further details.
|
|
Scale-up Suite Client
- Scale-up Suite: Build ID 2.0.0bXXX or later
- A Scale-up User Account
-
A valid license for the relevant product:
- Reaction Lab Materials Search is available with Reaction Lab
- Properties and Catalist for Microsoft Excel are available with Dynochem
- Properties, Catalist and Plaintext for Microsoft Word, Outlook or PowerPoint are available with Numero
Web Server hosting the API
- Server type: Any
- Implementation language or technology: Any
- Protocol: HTTPS
- Network access: from Scale-up Suite client (can be limited to an internal network/VPN or restricted IP addresses)
|
|
An interactive reference with underlying sample service is provided at API Reference
An Open API definition (Swagger 2.0) is provided at
From this server stubs can be generated in many languages using tools like Swagger Hub
Property Definitions
Property definitions for items in fetch results have the following attributes
Attribute Name |
Data Type |
Description |
Required |
Example |
string |
The property name to be displayed |
Yes |
"Distance" |
object |
See data type definitions below |
Yes |
5.9 |
string |
Optional unit of measure |
No |
"km" |
string |
null or usage definition for specific string values |
See data type definitions below
|
null |
The following data types can be sent as property values
Data Type |
Description |
Unit |
Usage Value |
Example |
Rendered as |
integer or decimal value |
optional |
null |
{
"name": "Distance",
"value": 5.9,
"unit": "km",
"usage": null
}
|
Number formatted in current culture, e.g:
[en-UK] Distance: 5.9 km
[de-DE] Distance: 5,9 km
|
true/false |
null |
null |
{
"name": "Approved",
"value": true,
"unit": null,
"usage": null
}
|
Approved: True |
string |
optional |
null |
{
"name": "Address Field 1",
"value": "4 Privet Drive",
"unit": null,
"usage": null
}
|
Address Field 1: 4 Privet Drive |
string starting with http://, https://, mailto: or file://
|
null |
null |
{
"name": "Website",
"value": "http://scale-up.com",
"unit": null,
"usage": null
}
|
Website: http://scale-up.com |
string representing a single email address
|
null |
null |
{
"name": "Email",
"value": "user@example.com",
"unit": null,
"usage": null
}
|
Email: user@example.com |
string in internet "date-time" format |
null |
null
|
{
"name": "Created",
"value": "2011-09-07T09:00:56",
"unit": null,
"usage": null
}
|
Full date time in current culture, e.g:
[fr-FR] Created: 07/09/2011 09:00:56
[en-US] Created: 9/7/2011 09:00:56
|
string in internet "date-time" format |
null |
.NET date-time format string
|
{
"name": "Date of Birth",
"value": "1987-10-07T00:00:00",
"unit": null,
"usage": "d"
}
|
d = Short date in current culture, e.g:
[fr-FR] Date of Birth: 07/10/1987
[en-US] Date of Birth: 10/7/1987
|
base64 string representing a bitmap image as byte array |
null |
"Image"
|
{
"name": "Graph",
"value": "VmpDRDAxMDAEAwIBAA[...]",
"unit": null,
"usage": "Image"
}
|
Graph: [Image icon]
Image preview on rollover
Full image can be inserted into the document
|
base64 string representing a chemical structure definition as byte array
Supported formats:
.cdxml, .cdx, .mol, .sdf, .rxn
|
null |
"Structure"
|
{
"name": "Structure",
"value": "DRDAxMDAfgRDyeEAwIBAA[...]",
"unit": null,
"usage": "Structure"
}
|
Structure: [Structure icon]
Structure preview on rollover
Full structure image can be inserted into the document
|
One level deep array with values of type string, Boolean or numeric (can be mixed)
|
null |
null
|
{
"name": "Specification",
"value": ["Steel", 1.8, true],
"unit": null,
"usage": null
}
|
Values displayed as comma delimited string
Specification: Steel, 1.8, True
|
For more details see the ItemProperty model definition in the
API Reference
|
|
Scale-up Suite clients require the following information to connect to a Data Service
Item |
Value |
Example |
The url for the Data Service |
https://apidocs.scale-up.com/v1 |
General or Materials |
General |
API version (currently always 1.0) |
1.0 |
A text value that Scale-up Suite clients submit when making API requests (optional) |
test-key-1 |
Descriptive name for the Data Service |
Example Time Zone Look-up |
Owner name |
Scale-up Systems |
Descriptive information Will be shown on error or connection failure Should include connection requirements if restricted |
Example Data Service for development and test purposes. (Local network access or VPN required) |
Email address of a local administrator Will be shown on error or connection failure |
serviceadmin@example.com |
Public or Internal Use Internal to identify services hosted on an internal network/VPN or a public server with IP address restrictions |
Internal |
Clients can be configured in two ways.
File Configuration for Development and Testing
A DataServices.xml file can be placed at %UserProfile%\AppData\Roaming\Scale-up Systems\Scale-up Suite using the following format.
<?xml version="1.0" encoding="utf-16"?>
<ArrayOfServiceReference xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ServiceReference>
<EndPoint>https://apidocs.scale-up.com/v1</EndPoint>
<Type>General</Type>
<Owner>Scale-up Systems</Owner>
<Version>1.0</Version>
<ApiKey>test-key-1</ApiKey>
<ServiceName>Example Time Zone Look-up</ServiceName>
<Description><![CDATA[Example Data Service for development and test purposes]]>
</Description>
<AdminEmail>serviceadmin@example.com</AdminEmail>
</ServiceReference>
</ArrayOfServiceReference>
Service Listing for End User Access
A service can be submitted to support@scale-up.com to be listed for end user access. The initial listing will also define at least one Data Service administrator.
Data Service administrators can access the listing administration dash board from their Scale-up User Profile. Via the dashboard administrators can:
- Enable or disable the service
- Change the end point or other properties
- Assign service users by email address
- Add or remove other administrators
Email domains can be defined for a Data Service on a demand, which will automatically give all Scale-up Suite users with an email address matching the specific domain access.
End users get access to the service by refreshing the Scale-up Manager.
|
|
API Key and Logging Data
An API key can be specified for data services, which Scale-up Suite clients will send with Search and Fetch requests alongside the data identified below, all of which which can be used to control access to a Data Service, logging or diagnostics.
API keys sepecified for a listed service are securely managed and never exposed to users. All web requests require HTTPS.
Parameter Name |
Value |
Sent In |
Example |
The API Key value specified in the file configuration or listing |
Header |
test-key-1 |
The email address/username of the Scale-up Suite user |
Body |
user@example.com |
The build number of the Scale-up Suite client |
Body |
2.0.0b567 |
The executing client application Reaction Lab | Excel | Word | PowerPoint | Outlook |
Body |
Excel |
The executing client component
Materials Search | Catalist
|
Body |
Catalist |
The service identifier as defined in the Scale-up Data Service listing Can be used to make service distinctions in case the same endpoint is used for distinctive data sets to be listed individually
|
Body |
Example-Data-Service-123456 |
The version number as defined in the Scale-up Data Service listing
|
Body |
1.0 |
Deployment
Data Services can be hosted on an internal network, ensuring that only users with direct or VPN access to that network can connect to the service, or on a public network with IP address restrictions that ensure only users on certain networks get access.
If hosted on a publicly accessible server, the API Key can be used to allow access only to trusted clients.
|