Hadoken!!!

hadokenmaterials.io (BETA)

The High Throughput Machine Learning Materials Design Platform

 

Hadoken Materials Web API

A full-feature API REST-ful is available for consumption. In order to access this API, you will need to sign up for an account, and then validate your account. Once validated, you can start programming against our API.

On this page:

Authorisation

You must have a valid Hadoken Materials account that is enabled, verified, and also has API access granted. If you don't have an account, you can sign up for one - it's fast, and it's free.

Authentication

Your API key is a 128-bit number, and will appear in the following format:

123E4567-E89B-12D3-A456-426655440000

You must send your API key with each request as part of the request header collection:

Hadoken-API-Key: 123E4567-E89B-12D3-A456-426655440000

Your API key was sent to you during the sign up process, however you can request it again from account management.

Data Format

Data requested from our API is available as XML (yes, XML huzzah!) and JSON by adjusting the Accept and Content-Type headers during HTTP requests:

To request JSON:

Content-Type: application/json

To request XML:

Content-Type: application/xml

To accept JSON (this is the default accept data format):

Accept: application/json

To accept XML:

Accept: application/xml

Supported API Versions

The API is versioned via the URL. You must include the version number that you wish to access. Breaking changes are always released on a new major version. Non-breaking changes are released on a new minor version.

Object Model

List record access always adheres to the following format:

/api/v{Version}/{NamePluralised}

The default response size is 100 records, although you may request up to 200 results per response. You can offset the request by n records to page through the data. An example request might look like this:

/api/v1/Species?Size=10&Start=10

In this example, the Size query string parameter has been used to limit the number of records returned to 10, and the Start query string parameter has been used to skip the first 10 records. Start uses a 0-based index.

XML requests will be wrapped in the following tag:

<ArrayOf{Name}Model xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	...
<ArrayOf{Name}Model>

* Note that pluralisation does not always a straight forward case of simply appending an 's', so don't get caught out.

Single record access always adheres to the following format:

/api/v{Version}/{NamePluralised}/{Name}/{GUID}

You must specify a GUID otherwise you will receive an empty array (or maybe not anything at all).

Species

URL format: /api/v{Version}/Species/Species/{GUID}

JSON

{
	"code": "186d99fe-cd0a-460e-b02d-993d0d17817e",
	"compoundCount": 29,
	"dateCreatedUtc": "2019-11-17T00:07:25",
	"dateUpdatedUtc": "2019-11-17T00:07:25",
	"name": "Ac",
	"simulationCount": 29
}

XML

<SpeciesModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<Code>1</Code>
	<CompoundCount>29</CompoundCount>
	<DateCreatedUtc>2019-11-17T00:07:25</DateCreatedUtc>
	<DateUpdatedUtc>2019-11-17T00:07:25</DateUpdatedUtc>
	<Name>Ac</Name>
	<SimulationCount>29</SimulationCount>
</SpeciesModel>

Compound

URL format: /api/v{Version}/Compounds/Compound/{ID}

JSON

{
	"code": "44ccc76b-64b1-4330-bc24-48c45edfccc3",
	"dateCreatedUtc": "2019-11-17T00:07:25",
	"dateUpdatedUtc": "2019-11-17T00:07:25",
	"name": "Ac1",
	"simulationCount": 15,
	"speciesCode": "186d99fe-cd0a-460e-b02d-993d0d17817e"
}

XML

<CompoundModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<Code>44ccc76b-64b1-4330-bc24-48c45edfccc3</Code>
	<DateCreatedUtc>2018-04-28T23:33:47.15</DateCreatedUtc>
	<DateUpdatedUtc>2018-04-28T23:33:47.15</DateUpdatedUtc>
	<ID>1</ID>
	<Name>Ac1</Name>
	<SimulationCount>15</SimulationCount>
	<SpeciesCode>186d99fe-cd0a-460e-b02d-993d0d17817e</SpeciesCode>
</CompoundModel>

Simulation

URL format: /api/v{Version}/Simulations/Simulation/{ID}

JSON

{
	"bandGap": 2.2404,
	"code": "79d23c3a-7c44-463f-a9b7-55523e457331",
	"compoundCode": "5d8cd7b3-6118-4f94-a4a9-b3a7f57cb3eb",
	"compoundName": "Ag2Cr8O28Tl6",
	"dateCreatedUtc": "2018-04-28T23:33:47",
	"dateUpdatedUtc": "2019-12-08T08:09:32",
	"density": 5.05249,
	"dftTypeID": 1,
	"dftTypeName": "PAW_PBE",
	"effectiveMass": null,
	"energy": -264.053,
	"energyPerAtom": -6.00121,
	"fermiEnergy": -0.0915,
	"glide": true,
	"gapType": 4,
	"geometryA": 7.561903,
	"geometryAlpha": 78.41477,
	"geometryB": 7.561903,
	"geometryBeta": 78.41477,
	"geometryC": 13.82445,
	"geometryGamma": 90.17892,
	"i": true,
	"kSpace": "Gamma-Y,Y-F,F-L,L-I,I_1-Z,Z-Gamma,Gamma-X,X-Y_1,Y_1-H_1,H-F_1,F_2-X,M-Gamma,Gamma-N,H-Z",
	"kSpaceResolution": 20,
	"mirror": null,
	"numberOfAtoms": 44,
	"s2": true,
	"s21": false,
	"s21m": null,
	"s2m": null,
	"s3": null,
	"s31": null,
	"s32": null,
	"s3Bar": null,
	"s4": null,
	"s4m": null,
	"s4143": null,
	"s42": null,
	"s42m": null,
	"s4Bar": null,
	"s6": null,
	"s61": null,
	"s62": null,
	"s63": null,
	"s63m": null,
	"s64": null,
	"s65": null,
	"s6Bar": null,
	"s6m": null,
	"spaceGroup": 15,
	"speciesCode": "9f5ce1dc-3499-4ece-bbad-d011f8b71a2d",
	"speciesName": "AgCrOTl",
	"totalAtomicWeight": 2305.9572,
	"totalChemicalPotential": -16742.448,
	"totalElectronAffinity": 50.0430688,
	"totalElectroNegativity": 6.105481236363636,
	"totalIonisationEnergy": 487.23928,
	"totalDensity": 149.342012,
	"totalNumberOfSOrbitals": 134,
	"totalNumberOfPOrbitals": 240,
	"totalNumberOfDOrbitals": 150,
	"totalNumberOfFOrbitals": 42,
	"totalNumberOfElectrons": 996,
	"totalNumberOfSElectrons": 258,
	"totalNumberOfPElectrons": 394,
	"totalNumberOfDElectrons": 260,
	"totalNumberOfFElectrons": 84,
	"valenceElectrons": 220,
	"volume": 757.855
}

XML

<SimulationPoolModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<BandGap>2.2404</BandGap>
	<Code>79d23c3a-7c44-463f-a9b7-55523e457331</Code>
	<CompoundCode>5d8cd7b3-6118-4f94-a4a9-b3a7f57cb3eb</CompoundCode>
	<CompoundName>Ag2Cr8O28Tl6</CompoundName>
	<DateCreatedUtc>2018-04-28T23:33:47</DateCreatedUtc>
	<DateUpdatedUtc>2019-12-08T08:09:32</DateUpdatedUtc>
	<Density>5.05249</Density>
	<DftTypeID>1</DftTypeID>
	<DftTypeName>PAW_PBE</DftTypeName>
	<EffectiveMass xsi:nil="true" />
	<Energy>-264.053</Energy>
	<EnergyPerAtom>-6.00121</EnergyPerAtom>
	<FermiEnergy>-0.0915</FermiEnergy>
	<Glide>true</Glide>
	<GapType>InsulatorIndirect</GapType>
	<GeometryA>7.561903</GeometryA>
	<GeometryAlpha>78.41477</GeometryAlpha>
	<GeometryB>7.561903</GeometryB>
	<GeometryBeta>78.41477</GeometryBeta>
	<GeometryC>13.82445</GeometryC>
	<GeometryGamma>90.17892</GeometryGamma>
	<I>true</I>
	<KSpace>Gamma-Y,Y-F,F-L,L-I,I_1-Z,Z-Gamma,Gamma-X,X-Y_1,Y_1-H_1,H-F_1,F_2-X,M-Gamma,Gamma-N,H-Z</KSpace>
	<KSpaceResolution>20</KSpaceResolution>
	<Mirror xsi:nil="true" />
	<NumberOfAtoms>44</NumberOfAtoms>
	<S2>true</S2>
	<S21>false</S21>
	<S21m xsi:nil="true" />
	<S2m xsi:nil="true" />
	<S3 xsi:nil="true" />
	<S31 xsi:nil="true" />
	<S32 xsi:nil="true" />
	<S3Bar xsi:nil="true" />
	<S4 xsi:nil="true" />
	<S4m xsi:nil="true" />
	<S4143 xsi:nil="true" />
	<S42 xsi:nil="true" />
	<S42m xsi:nil="true" />
	<S4Bar xsi:nil="true" />
	<S6 xsi:nil="true" />
	<S61 xsi:nil="true" />
	<S62 xsi:nil="true" />
	<S63 xsi:nil="true" />
	<S63m xsi:nil="true" />
	<S64 xsi:nil="true" />
	<S65 xsi:nil="true" />
	<S6Bar xsi:nil="true" />
	<S6m xsi:nil="true" />
	<SpaceGroup>15</SpaceGroup>
	<SpeciesCode>9f5ce1dc-3499-4ece-bbad-d011f8b71a2d</SpeciesCode>
	<SpeciesName>AgCrOTl</SpeciesName>
	<TotalAtomicWeight>2305.9572</TotalAtomicWeight>
	<TotalChemicalPotential>-16742.448</TotalChemicalPotential>
	<TotalElectronAffinity>50.0430688</TotalElectronAffinity>
	<TotalElectroNegativity>6.105481236363636</TotalElectroNegativity>
	<TotalIonisationEnergy>487.23928</TotalIonisationEnergy>
	<TotalDensity>149.342012</TotalDensity>
	<TotalNumberOfSOrbitals>134</TotalNumberOfSOrbitals>
	<TotalNumberOfPOrbitals>240</TotalNumberOfPOrbitals>
	<TotalNumberOfDOrbitals>150</TotalNumberOfDOrbitals>
	<TotalNumberOfFOrbitals>42</TotalNumberOfFOrbitals>
	<TotalNumberOfElectrons>996</TotalNumberOfElectrons>
	<TotalNumberOfSElectrons>258</TotalNumberOfSElectrons>
	<TotalNumberOfPElectrons>394</TotalNumberOfPElectrons>
	<TotalNumberOfDElectrons>260</TotalNumberOfDElectrons>
	<TotalNumberOfFElectrons>84</TotalNumberOfFElectrons>
	<ValenceElectrons>220</ValenceElectrons>
	<Volume>757.855</Volume>
</SimulationPoolModel>

Machine Learing

A number of machine learning models are available to use.

Band Gap Single

You can access the single-attribute band gap predictor here:

URL format: /api/v{Version}/MachineLearning/BandGap/Single

POST

{
	"stoichiometry": "Ca2Cu2Ge4O12"
}

JSON - response

{
	"bandGap": 1.3985653904114555472784324321,
	"stoichiometry": "Ca2Cu2Ge4O12"
}

XML - response

<BandGapSingleModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<BandGap>1.2049858165280045952682033686</BandGap>
	<Stoichiometry>Ca2Cu2Ge4O12</Stoichiometry>
</BandGapSingleModel>

Band Gap Space Group, Geometry

You can access the this band gap predictor here:

URL format: /api/v{Version}/MachineLearning/BandGap/SpaceGroupGeometry

POST

{
	"stoichiometry": "Ca2Cu2Ge4O12",
	"geometryA": 6.955802,
	"geometryB": 6.955802,
	"geometryC": 5.44479,
	"geometryAlpha": 76.73364,
	"geometryBeta": 76.73364,
	"geometryGamma": 83.12188,
	"spaceGroup": 15
}

JSON - response

{
	"bandGap": 1.0722278625397415602174867483,
	"geometryA": 6.955802,
	"geometryAlpha": 76.73364,
	"geometryB": 6.955802,
	"geometryBeta": 76.73364,
	"geometryC": 5.44479,
	"geometryGamma": 83.12188,
	"spaceGroup": 15,
	"stoichiometry": "Ca2Cu2Ge4O12"
}

XML - response

<BandGapSpaceGroupGeometryModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<BandGap>1.0722278625397415602174867483</BandGap>
	<GeometryA>6.955802</GeometryA>
	<GeometryAlpha>76.73364</GeometryAlpha>
	<GeometryB>6.955802</GeometryB>
	<GeometryBeta>76.73364</GeometryBeta>
	<GeometryC>5.44479</GeometryC>
	<GeometryGamma>83.12188</GeometryGamma>
	<SpaceGroup>15</SpaceGroup>
	<Stoichiometry>Ca2Cu2Ge4O12</Stoichiometry>
</BandGapSpaceGroupGeometryModel>

Band Gap Space Group, Derived

You can access this band gap predictor here:

URL format: /api/v{Version}/MachineLearning/BandGap/SpaceGroupHighSymmetryDerived

POST

{
	"stoichiometry": "Ca2Cu2Ge4O12",
	"spaceGroup": 15
}

JSON - response

{
	"bandGap": 1.0886605111631546614381073308,
	"spaceGroup": 15,
	"stoichiometry": "Ca2Cu2Ge4O12"
}

XML - response

<BandGapSpaceGroupHighSymmetryDerivedModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<BandGap>1.0886605111631546614381073308</BandGap>
	<SpaceGroup>12</SpaceGroup>
	<Stoichiometry>Ca2Cu2Ge4O12</Stoichiometry>
</BandGapSpaceGroupHighSymmetryDerivedModel>

Fermi Energy Geometry

You can access the this Fermi energy predictor here:

URL format: /api/v{Version}/MachineLearning/FermiEnergy/Geometry

POST

{
	"stoichiometry": "Cr4Cu1In1Se8",
	"geometryA": 7.642811,
	"geometryB": 7.643063,
	"geometryC": 7.643013,
	"geometryAlpha": 59.99344,
	"geometryBeta": 59.99952,
	"geometryGamma": 60.00009
}

JSON - response

{
	"fermiEnergy": 3.541726248357564780714516288,
	"geometryA": 7.642811,
	"geometryB": 7.643063,
	"geometryC": 7.643013,
	"geometryAlpha": 59.99344,
	"geometryBeta": 59.99952,
	"geometryGamma": 60.00009,
	"stoichiometry": "Cr4Cu1In1Se8"
}

XML - response

<FermiEnergyGeometryModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
	<FermiEnergy>3.541726248357564780714516288</FermiEnergy>
	<GeometryA>7.642811</GeometryA>
	<GeometryAlpha>59.99344</GeometryAlpha>
	<GeometryB>7.643063</GeometryB>
	<GeometryBeta>59.99952</GeometryBeta>
	<GeometryC>7.643013</GeometryC>
	<GeometryGamma>60.00009</GeometryGamma>
	<Stoichiometry>Cr4Cu1In1Se8</Stoichiometry>
</FermiEnergyGeometryModel>

Gap Type Space Group

You can access the this gap type classification predictor here:

URL format: /api/v{Version}/MachineLearning/GapType/SpaceGroup

POST

{
    "spaceGroup": 129,
    "stoichiometry": "Ag10O8P2Te2"
}

JSON - response

{
    "halfMetal": 0.0000000001208971313097922044;
    "insulatorDirect": 0.0276288844767050804013304393;
    "insulatorDirectSpinPolarised": 0.000000000000000000333201382;
    "insulatorIndirect": 0.972054870642805564504263858;
    "insulatorIndirectSpinPolarised": 0.0000000000001151086947130958;
    "metal": 0.0003162447594771147566990205;
    "spaceGroup": 129,
    "stoichiometry": "Ag10O8P2Te2"
}

XML - response

<GapTypeSpaceGroupModel xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <HalfMetal>0.0000000001208971313097922044</HalfMetal>
    <InsulatorDirect>0.0276288844767050804013304393</InsulatorDirect>
    <InsulatorDirectSpinPolarised>0.000000000000000000333S201382</InsulatorDirectSpinPolarised>
    <InsulatorIndirect>0.972054870642805564504263858</InsulatorIndirect>
    <InsulatorIndirectSpinPolarised>0.0000000000001151086947130958</InsulatorIndirectSpinPolarised>
    <Metal>0.0003162447594771147566990205</Metal>
    <SpaceGroup>129</SpaceGroup>
    <Stoichiometry>Cr4Cu1In1Se8</Stoichiometry>
</GapTypeSpaceGroupModel>

 

Copyright © 2017-2021 hadokenmaterials.io | Privacy | Terms | Citing | Contact