> For the complete documentation index, see [llms.txt](https://devdocs.olisystems.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://devdocs.olisystems.com/chemistry-model-files/chembuilder-api/getting-started-with-chembuilder/include-inflows/include-assays.md).

# Include Assays

To include assays in the inflow, users must define additional JSON objects containing `"type": "assay"`. Users can provide a custom name for the assay "name" field.&#x20;

Below is a sample input to add an assay to the inflow:

```json
{       
         "inflows": [
            {
                "name": "H2O"
            },
            {
                "name": "test",
                "type": "assay",
                "data": {
                    "assayDataType": "ASTM D1160",
                    "thermoMethod": "API-8",
                    "assayBulkDensity": {
                        "type": "Specific Gravity",
                        "value": 0.769
                    },
                    "distillationCurveCuts": 7,
                    "distillationData": {
                        "temperatureUnit" : "°C",
                        "data": [
                        {
                            "volumePercentDistilled": 5,
                            "temperature": 68.7
                        },
                        {
                            "volumePercentDistilled": 10,
                            "temperature": 105.7
                        },
                        {
                            "volumePercentDistilled": 20,
                            "temperature": 171.9
                        },
                        {
                            "volumePercentDistilled": 30,
                            "temperature": 235.8
                        },
                        {
                            "volumePercentDistilled": 40,
                            "temperature": 295
                        },
                        {
                            "volumePercentDistilled": 50,
                            "temperature": 350.3
                        },
                        {
                            "volumePercentDistilled": 60,
                            "temperature": 405.3
                        },
                        {
                            "volumePercentDistilled": 70,
                            "temperature": 462.5
                        }
                    ]
                }
            }
        }
    ] 
 }   
    

```

The assay object consists of three keys: "name", "type", and "data".

<table><thead><tr><th align="center">assay</th><th width="151" align="center">required</th><th width="120">type</th><th>description </th></tr></thead><tbody><tr><td align="center">name</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td>String</td><td>A name provided by the user for this input assay.</td></tr><tr><td align="center">type</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td>String</td><td>This field is used to specify the type of inflow (e.g., "assay" or "pseudo").</td></tr><tr><td align="center">data</td><td align="center"><span data-gb-custom-inline data-tag="emoji" data-code="2714">✔️</span></td><td>JSON Object </td><td>This field contains the user-defined input for an assay.</td></tr></tbody></table>

The "data" section has the following keys:

| data                  |       required       | type        |
| --------------------- | :------------------: | ----------- |
| assayDataType         | :heavy\_check\_mark: | String      |
| thermoMethod          | :heavy\_check\_mark: | String      |
| assayBulkDensity      | :heavy\_check\_mark: | JSON Object |
| distillationCurveCuts | :heavy\_check\_mark: | Integer     |
| distillationData      | :heavy\_check\_mark: | JSON Object |

## A few key points to remember are:

{% hint style="info" %}
The "type" must be specified as either "assay" or "pseudo". Otherwise, the species is treated as a regular inflow species.
{% endhint %}

{% hint style="info" %}
The supported thermodynamic methods include `API-8`, `API-5`, `Cavett`, and `Kessler`.
{% endhint %}

{% hint style="info" %}
The supported density types include `Specific Gravity`, `API Gravity`, and `Watson K`.
{% endhint %}

{% hint style="info" %}
The supported thermo methods are`ASTM D1160`, `ASTM D86, ASTM D2887,` and

`TBP Curve.`
{% endhint %}

{% hint style="danger" %}
The number of distillation data points must be greater than 4.
{% endhint %}

{% hint style="danger" %}
The maximum temperature allowed is 923.15 K.&#x20;
{% endhint %}

{% hint style="danger" %}
The distillation data for temperature and volume percent must be entered by the user in ascending order.
{% endhint %}

{% hint style="info" %}
The assay object and its associated input JSON object can be enabled or disabled using ["enabled" Keyword](/chemistry-model-files/chembuilder-api/supporting-information-for-chembuilder/enabled-keyword.md)
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://devdocs.olisystems.com/chemistry-model-files/chembuilder-api/getting-started-with-chembuilder/include-inflows/include-assays.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
