Skip to content

Substances

albert.collections.substance

AlbertSession

AlbertSession(
    *,
    base_url: str,
    token: str | None = None,
    auth_manager: AlbertClientCredentials
    | AlbertSSOClient
    | None = None,
    retries: int | None = None,
)

Bases: Session

A session that has a base URL, which is prefixed to all request URLs.

Parameters:

Name Type Description Default
base_url str

The base URL to prefix to all relative request paths (e.g., "https://app.albertinvent.com").

required
token str | None

A static JWT token for authentication. Ignored if auth_manager is provided.

None
auth_manager AlbertClientCredentials | AlbertSSOClient

An authentication manager used to dynamically fetch and refresh tokens. If provided, it overrides token.

None
retries int

The number of automatic retries on failed requests (default is 3).

None

Methods:

Name Description
request
Source code in src/albert/core/session.py
def __init__(
    self,
    *,
    base_url: str,
    token: str | None = None,
    auth_manager: AlbertClientCredentials | AlbertSSOClient | None = None,
    retries: int | None = None,
):
    super().__init__()
    self.base_url = base_url
    self.headers.update(
        {
            "Content-Type": "application/json",
            "Accept": "application/json",
            "User-Agent": f"albert-SDK V.{albert.__version__}",
        }
    )

    if token is None and auth_manager is None:
        raise ValueError("Either `token` or `auth_manager` must be specified.")

    self._auth_manager = auth_manager
    self._provided_token = token

    # Set up retry logic
    retries = retries if retries is not None else 3
    retry = Retry(
        total=retries,
        read=retries,
        connect=retries,
        backoff_factor=0.3,
        status_forcelist=(500, 502, 503, 504, 403),
        raise_on_status=False,
    )
    adapter = HTTPAdapter(max_retries=retry)
    self.mount("http://", adapter)
    self.mount("https://", adapter)

base_url instance-attribute

base_url = base_url

request

request(
    method: str, path: str, *args, **kwargs
) -> Response
Source code in src/albert/core/session.py
def request(self, method: str, path: str, *args, **kwargs) -> requests.Response:
    self.headers["Authorization"] = f"Bearer {self._access_token}"
    full_url = urljoin(self.base_url, path) if not path.startswith("http") else path
    with handle_http_errors():
        response = super().request(method, full_url, *args, **kwargs)
        response.raise_for_status()
        return response

BaseCollection

BaseCollection(*, session: AlbertSession)

BaseCollection is the base class for all collection classes.

Parameters:

Name Type Description Default
session AlbertSession

The Albert API Session instance.

required
Source code in src/albert/collections/base.py
def __init__(self, *, session: AlbertSession):
    self.session = session

session instance-attribute

session = session

SubstanceCollection

SubstanceCollection(*, session: AlbertSession)

Bases: BaseCollection

SubstanceCollection is a collection class for managing Substance entities in the Albert platform.

Parameters:

Name Type Description Default
session AlbertSession

An instance of the Albert session used for API interactions.

required

Attributes:

Name Type Description
base_path str

The base URL for making API requests related to substances.

Methods:

Name Description
get_by_ids

Retrieves a list of substances by their CAS IDs and optional region.

get_by_id

Retrieves a single substance by its CAS ID and optional region.

Source code in src/albert/collections/substance.py
def __init__(self, *, session: AlbertSession):
    super().__init__(session=session)
    self.base_path = f"/api/{SubstanceCollection._api_version}/substances"

base_path instance-attribute

base_path = f'/api/{_api_version}/substances'

get_by_id

get_by_id(
    *,
    cas_id: str,
    region: str = "US",
    catch_errors: bool | None = None,
) -> SubstanceInfo

Get a substance by its CAS ID.

Parameters:

Name Type Description Default
cas_id str

The CAS ID of the substance to retrieve.

required
region str

The region to filter the substance by, by default "US".

'US'
catch_errors bool

Whether to catch errors for unknown CAS, by default False.

None

Returns:

Type Description
SubstanceInfo

The retrieved substance or raises an error if not found.

Source code in src/albert/collections/substance.py
def get_by_id(
    self,
    *,
    cas_id: str,
    region: str = "US",
    catch_errors: bool | None = None,
) -> SubstanceInfo:
    """
    Get a substance by its CAS ID.

    Parameters
    ----------
    cas_id : str
        The CAS ID of the substance to retrieve.
    region : str, optional
        The region to filter the substance by, by default "US".
    catch_errors : bool, optional
        Whether to catch errors for unknown CAS, by default False.

    Returns
    -------
    SubstanceInfo
        The retrieved substance or raises an error if not found.
    """
    return self.get_by_ids(cas_ids=[cas_id], region=region, catch_errors=catch_errors)[0]

get_by_ids

get_by_ids(
    *,
    cas_ids: list[str],
    region: str = "US",
    catch_errors: bool | None = None,
) -> list[SubstanceInfo]

Get substances by their CAS IDs.

If catch_errors is set to False, the number of substances returned may be less than the number of CAS IDs provided if any of the CAS IDs result in an error.

Parameters:

Name Type Description Default
cas_ids list[str]

A list of CAS IDs to retrieve substances for.

required
region str

The region to filter the subastance by, by default "US"

'US'
catch_errors bool

Whether to catch errors for unknown CAS, by default True.

None

Returns:

Type Description
list[SubstanceInfo]

A list of substances with the given CAS IDs.

Source code in src/albert/collections/substance.py
def get_by_ids(
    self,
    *,
    cas_ids: list[str],
    region: str = "US",
    catch_errors: bool | None = None,
) -> list[SubstanceInfo]:
    """Get substances by their CAS IDs.

    If `catch_errors` is set to False, the number of substances returned
    may be less than the number of CAS IDs provided if any of the CAS IDs result in an error.

    Parameters
    ----------
    cas_ids : list[str]
        A list of CAS IDs to retrieve substances for.
    region : str, optional
        The region to filter the subastance by, by default "US"
    catch_errors : bool, optional
        Whether to catch errors for unknown CAS, by default True.

    Returns
    -------
    list[SubstanceInfo]
        A list of substances with the given CAS IDs.
    """
    params = {
        "casIDs": ",".join(cas_ids),
        "region": region,
        "catchErrors": json.dumps(catch_errors) if catch_errors is not None else None,
    }
    params = {k: v for k, v in params.items() if v is not None}
    response = self.session.get(self.base_path, params=params)
    return SubstanceResponse.model_validate(response.json()).substances

SubstanceInfo pydantic-model

Bases: BaseAlbertModel

SubstanceInfo is a Pydantic model representing information about a chemical substance.

Attributes:

Name Type Description
acute_dermal_tox_info list[ToxicityInfo] | None

Information about acute dermal toxicity.

acute_inhalation_tox_info list[ToxicityInfo] | None

Information about acute inhalation toxicity.

acute_oral_tox_info list[ToxicityInfo] | None

Information about acute oral toxicity.

acute_tox_info list[ToxicityInfo] | None

General acute toxicity information.

bio_accumulative_info list[BioAccumulativeInfo] | None

Information about bioaccumulation.

boiling_point_info list[BoilingPointInfo] | None

Information about boiling points.

cas_id str

The CAS ID of the substance.

classification str | None

The classification of the substance.

classification_type str

The type of classification.

degradability_info list[DegradabilityInfo] | None

Information about degradability.

dnel_info list[DNELInfo] | None

Information about the Derived No Effect Level (DNEL).

ec_list_no str

The EC list number.

exposure_controls_acgih list[ExposureControl] | None

ACGIH exposure controls.

hazards list[Hazard] | None

List of hazards associated with the substance.

iarc_carcinogen str | None

IARC carcinogen classification.

ntp_carcinogen str | None

NTP carcinogen classification.

osha_carcinogen bool | None

OSHA carcinogen classification.

health_effects str | None

Information about health effects.

name list[SubstanceName] | None

Names of the substance.

page_number int | None

Page number for reference.

aicis_notified bool | None

Indicates if AICIS has been notified.

approved_legal_entities Any | None

Approved legal entities for the substance.

aspiration_tox_info list[Any] | None

Information about aspiration toxicity.

basel_conv_list bool | None

Indicates if the substance is on the Basel Convention list.

bei_info list[Any] | None

Information related to BEI.

caa_cfr40 bool | None

Indicates compliance with CAA CFR 40.

caa_hpa bool | None

Indicates compliance with CAA HPA.

canada_inventory_status str | None

Status in the Canadian inventory.

carcinogen_info list[Any] | None

Information about carcinogenicity.

chemical_category list[str] | None

Categories of the chemical.

dermal_acute_toxicity float | None

Acute dermal toxicity value.

inhalation_acute_toxicity float | None

Acute inhalation toxicity value.

oral_acute_toxicity float | None

Acute oral toxicity value.

lethal_dose_and_concentrations list[LethalDoseConcentration] | None

Information about lethal doses and concentrations.

m_factor int | None

M factor for acute toxicity.

m_factor_chronic int | None

M factor for chronic toxicity.

molecular_weight list[MolecularWeight] | None

Molecular weight information.

rsl RSL | None

Risk-based screening level.

specific_conc_eu list[SpecificConcentration] | None

Specific concentration information for the EU.

specific_conc_source str | None

Source of specific concentration information.

sustainability_status_lbc str | None

Sustainability status under LBC.

tsca_8b bool | None

Indicates compliance with TSCA 8(b).

cdsa_list bool | None

Indicates if the substance is on the CDSA list.

cn_csdc_regulations bool | None

Compliance with CN CSDC regulations.

cn_pcod_list bool | None

Indicates if the substance is on the CN PCOD list.

cn_priority_list bool | None

Indicates if the substance is on the CN priority list.

ec_notified str | None

Notification status in the EC.

eu_annex_14_substances_list bool | None

Indicates if the substance is on the EU Annex 14 list.

eu_annex_17_restrictions_list bool | None

Indicates if the substance is on the EU Annex 17 restrictions list.

eu_annex_17_substances_list bool | None

Indicates if the substance is on the EU Annex 17 substances list.

eu_candidate_list bool | None

Indicates if the substance is on the EU candidate list.

eu_dang_chem_annex_1_part_1_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 1 list.

eu_dang_chem_annex_1_part_2_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 2 list.

eu_dang_chem_annex_1_part_3_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 3 list.

eu_dang_chem_annex_5_list bool | None

Indicates if the substance is on the EU dangerous chemicals Annex 5 list.

eu_directive_ec_list bool | None

Indicates if the substance is on the EU directive EC list.

eu_explosive_precursors_annex_1_list bool | None

Indicates if the substance is on the EU explosive precursors Annex 1 list.

eu_explosive_precursors_annex_2_list bool | None

Indicates if the substance is on the EU explosive precursors Annex 2 list.

eu_ozone_depletion_list bool | None

Indicates if the substance is on the EU ozone depletion list.

eu_pollutant_annex_2_list bool | None

Indicates if the substance is on the EU pollutant Annex 2 list.

eu_pop_list bool | None

Indicates if the substance is on the EU POP list.

export_control_list_phrases bool | None

Indicates if the substance is on the export control list.

green_gas_list bool | None

Indicates if the substance is on the green gas list.

iecsc_notified bool | None

Indicates if the substance is IECSc notified.

index_no str | None

Index number for the substance.

jpencs_notified bool | None

Indicates if the substance is JPENCS notified.

jpishl_notified bool | None

Indicates if the substance is JPISHL notified.

koecl_notified bool | None

Indicates if the substance is KOECL notified.

kyoto_protocol bool | None

Indicates compliance with the Kyoto Protocol.

massachusetts_rtk bool | None

Indicates if the substance is on the Massachusetts RTK list.

montreal_protocol bool | None

Indicates compliance with the Montreal Protocol.

new_jersey_rtk bool | None

Indicates if the substance is on the New Jersey RTK list.

new_york_rtk bool | None

Indicates if the substance is on the New York RTK list.

nzioc_notified bool | None

Indicates if the substance is NZIOC notified.

pcr_regulated bool | None

Indicates if the substance is PCR regulated.

pennsylvania_rtk bool | None

Indicates if the substance is on the Pennsylvania RTK list.

peroxide_function_groups int | None

Number of peroxide function groups.

piccs_notified bool | None

Indicates if the substance is PICCS notified.

rhode_island_rtk bool | None

Indicates if the substance is on the Rhode Island RTK list.

rotterdam_conv_list bool | None

Indicates if the substance is on the Rotterdam Convention list.

sdwa bool | None

Indicates compliance with the SDWA.

source str | None

Source of the substance information.

specific_concentration_limit str | None

Specific concentration limit for the substance.

stockholm_conv_list bool | None

Indicates if the substance is on the Stockholm Convention list.

stot_affected_organs str | None

Organs affected by STOT.

stot_route_of_exposure str | None

Route of exposure for STOT.

tcsi_notified bool | None

Indicates if the substance is TCSI notified.

trade_secret str | None

Information about trade secrets.

tw_ghs_clas_list bool | None

Indicates if the substance is on the TW GHS classification list.

tw_handle_priority_chem bool | None

Indicates if the substance is a priority chemical.

tw_handle_toxic_chem bool | None

Indicates if the substance is a toxic chemical.

tw_ind_waste_standards bool | None

Indicates compliance with TW industrial waste standards.

vinic_notified bool | None

Indicates if the substance is VINIC notified.

exposure_controls_osha list[ExposureControl] | None

OSHA exposure controls.

exposure_controls_aiha list[ExposureControl] | None

AIHA exposure controls.

exposure_controls_niosh list[ExposureControl] | None

NIOSH exposure controls.

snur bool | dict | None

Significant new use rule information.

tsca_12b_concentration_limit float | None

TSCA 12(b) concentration limit.

cercla_rq float | None

CERCLA reportable quantity.

california_prop_65 list[str] | None

Information related to California Prop 65.

sara_302 bool | None

Indicates compliance with SARA 302.

sara_313_concentration_limit float | None

SARA 313 concentration limit.

cfr_marine_pollutant dict | None

Information about marine pollutants under CFR.

cfr_reportable_quantity dict | None

Information about reportable quantities under CFR.

rohs_concentration float | None

ROHS concentration limit.

skin_corrosion_info list[SkinCorrosionInfo] | None

Information about skin corrosion.

serious_eye_damage_info list[SeriousEyeDamageInfo] | None

Information about serious eye damage.

respiratory_skin_sens_info list[RespiratorySkinSensInfo] | None

Information about respiratory skin sensitization.

is_known bool

Indicates if the substance is known (i.e. has known regulatory or hazard information in the database) (note this is an alias for the isCas field which behaves in a non intuitive way in the API so we have opted to use is_known for usability instead)

Show JSON schema:
{
  "$defs": {
    "BioAccumulativeInfo": {
      "description": "BioAccumulativeInfo is a Pydantic model representing bioaccumulative information.\n\nAttributes\n----------\nbcf_value : str | None\n    The bioaccumulative factor value.\ntemperature : str | None\n    The temperature of the bioaccumulative test.\nexposure_time : str | None\n    The exposure time of the bioaccumulative test.\nmethod : str | None\n    The method of the bioaccumulative test.\nspecies : str | None\n    The species of the bioaccumulative test.",
      "properties": {
        "bcfValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bcfvalue"
        },
        "temperature": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Temperature"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "BioAccumulativeInfo",
      "type": "object"
    },
    "BoilingPointInfo": {
      "description": "BoilingPointInfo is a Pydantic model representing boiling point information.\n\nAttributes\n----------\nsource : list[BoilingPointSource] | None\n    The source of the boiling point information.\nvalues : list[BoilingPointValue] | None\n    The values of the boiling point information.",
      "properties": {
        "source": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BoilingPointSource"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Source"
        },
        "values": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BoilingPointValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Values"
        }
      },
      "title": "BoilingPointInfo",
      "type": "object"
    },
    "BoilingPointSource": {
      "description": "BoilingPointSource is a Pydantic model representing a boiling point source.\n\nAttributes\n----------\nnote_code : str | None\n    The note code of the boiling point source.\nnote : str | None\n    The note of the boiling point source.\nnote_field : str | None\n    The note field of the boiling point source.",
      "properties": {
        "noteCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notecode"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "noteField": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notefield"
        }
      },
      "title": "BoilingPointSource",
      "type": "object"
    },
    "BoilingPointValue": {
      "description": "BoilingPointValue is a Pydantic model representing a boiling point value.\n\nAttributes\n----------\nmin_value : str | None\n    The minimum boiling point value.\nmax_value : str | None\n    The maximum boiling point value.\nunit : str | None\n    The unit of the boiling point value.",
      "properties": {
        "minValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Minvalue"
        },
        "maxValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maxvalue"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "BoilingPointValue",
      "type": "object"
    },
    "DNELInfo": {
      "description": "DNELInfo is a Pydantic model representing the Derived No Effect Level (DNEL) information.\n\nAttributes\n----------\nroe : str | None\n    The reference exposure level.\nhealth_effect : str | None\n    The health effect associated with the exposure.\nexposure_time : str | None\n    The exposure time for the DNEL.\napplication_area : str | None\n    The area of application for the DNEL.\nvalue : str | None\n    The DNEL value.\nremarks : str | None\n    Any additional remarks regarding the DNEL.",
      "properties": {
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "healthEffect": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Healtheffect"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "applicationArea": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Applicationarea"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "remarks": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Remarks"
        }
      },
      "title": "DNELInfo",
      "type": "object"
    },
    "DegradabilityInfo": {
      "description": "DegradabilityInfo is a Pydantic model representing information about the degradability of a substance.\n\nAttributes\n----------\nresult : str | None\n    The result of the degradability test.\nunit : str | None\n    The unit of measurement for the degradability test.\nexposure_time : str | None\n    The exposure time of the degradability test.\nmethod : str | None\n    The method used for the degradability test.\ntest_type : str | None\n    The type of the degradability test.\ndegradability : str | None\n    The degradability classification.\nvalue : str | None\n    The value of the degradability test.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "testType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Testtype"
        },
        "degradability": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Degradability"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        }
      },
      "title": "DegradabilityInfo",
      "type": "object"
    },
    "ExposureControl": {
      "description": "ExposureControl is a Pydantic model representing exposure control measures.\n\nAttributes\n----------\ntype : str | None\n    The type of exposure control.\nvalue : float | None\n    The value associated with the exposure control.\nunit : str | None\n    The unit of measurement for the exposure control.",
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "ExposureControl",
      "type": "object"
    },
    "Hazard": {
      "description": "Hazard is a Pydantic model representing hazard information.\n\nAttributes\n----------\nh_code : str | None\n    The hazard code.\ncategory : str | None\n    The category of the hazard.\nclass_ : str | None\n    The class of the hazard.\nsub_category : str | None\n    The sub-category of the hazard.",
      "properties": {
        "hCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hcode"
        },
        "category": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        },
        "class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Class"
        },
        "subCategory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subcategory"
        }
      },
      "title": "Hazard",
      "type": "object"
    },
    "LethalDoseConcentration": {
      "description": "LethalDoseConcentration is a Pydantic model representing lethal dose and concentration information.\n\nAttributes\n----------\nduration : str | None\n    The duration of the exposure.\nunit : str | None\n    The unit of measurement for the lethal dose.\ntype : str | None\n    The type of the lethal dose.\nspecies : str | None\n    The species tested.\nvalue : float | None\n    The lethal dose value.\nsex : str | None\n    The sex of the species tested.\nexposure_time : str | None\n    The exposure time for the lethal dose test.\nmethod : str | None\n    The method used for the lethal dose test.\ntest_atmosphere : str | None\n    The atmosphere in which the test was conducted.",
      "properties": {
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "sex": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sex"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "testAtmosphere": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Testatmosphere"
        }
      },
      "title": "LethalDoseConcentration",
      "type": "object"
    },
    "MolecularWeight": {
      "description": "MolecularWeight is a Pydantic model representing molecular weight information.\n\nAttributes\n----------\nvalues : list[MolecularWeightValue] | None\n    The list of molecular weight values.",
      "properties": {
        "values": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/MolecularWeightValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Values"
        }
      },
      "title": "MolecularWeight",
      "type": "object"
    },
    "MolecularWeightValue": {
      "description": "MolecularWeightValue is a Pydantic model representing a molecular weight value.\n\nAttributes\n----------\nmin_value : str | None\n    The minimum molecular weight value.\nmax_value : str | None\n    The maximum molecular weight value.\nunit : str | None\n    The unit of measurement for the molecular weight.",
      "properties": {
        "minValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Minvalue"
        },
        "maxValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maxvalue"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "MolecularWeightValue",
      "type": "object"
    },
    "RSL": {
      "description": "RSL is a Pydantic model representing the regulatory substance list (RSL) information.\n\nAttributes\n----------\nsanitizer : RSLSanitizer | None\n    The sanitizer information associated with the RSL.",
      "properties": {
        "sanitizer": {
          "anyOf": [
            {
              "$ref": "#/$defs/RSLSanitizer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "RSL",
      "type": "object"
    },
    "RSLSanitizer": {
      "description": "RSLSanitizer is a Pydantic model representing sanitizer information.\n\nAttributes\n----------\nvalue : float | None\n    The value of the sanitizer.\nunit : str | None\n    The unit of measurement for the sanitizer.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "RSLSanitizer",
      "type": "object"
    },
    "RespiratorySkinSensInfo": {
      "description": "RespiratorySkinSensInfo is a Pydantic model representing respiratory and skin sensitization information.\n\nAttributes\n----------\nresult : str | None\n    The result of the respiratory skin sensitization test.\nroe : str | None\n    The reference exposure level.\nmethod : str | None\n    The method used for the respiratory skin sensitization test.\nspecies : str | None\n    The species tested for respiratory skin sensitization.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "RespiratorySkinSensInfo",
      "type": "object"
    },
    "SeriousEyeDamageInfo": {
      "description": "SeriousEyeDamageInfo is a Pydantic model representing serious eye damage information.\n\nAttributes\n----------\nresult : str | None\n    The result of the serious eye damage test.\nroe : str | None\n    The reference exposure level.\nunit : str | None\n    The unit of measurement for the serious eye damage test.\nmethod : str | None\n    The method used for the serious eye damage test.\nvalue : float | None\n    The value of the serious eye damage test.\nspecies : str | None\n    The species tested for serious eye damage.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "SeriousEyeDamageInfo",
      "type": "object"
    },
    "SkinCorrosionInfo": {
      "description": "SkinCorrosionInfo is a Pydantic model representing skin corrosion information.\n\nAttributes\n----------\nresult : str | None\n    The result of the skin corrosion test.\nroe : str | None\n    The reference exposure level.\nunit : str | None\n    The unit of measurement for the skin corrosion test.\nmethod : str | None\n    The method used for the skin corrosion test.\nvalue : float | None\n    The value of the skin corrosion test.\nspecies : str | None\n    The species tested for skin corrosion.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "SkinCorrosionInfo",
      "type": "object"
    },
    "SpecificConcentration": {
      "description": "SpecificConcentration is a Pydantic model representing specific concentration information.\n\nAttributes\n----------\nspecific_conc : str | None\n    The specific concentration value.\nsub_category : str | None\n    The sub-category of the specific concentration.\ncategory : int | None\n    The category of the specific concentration.\nh_code : str | None\n    The hazard code associated with the specific concentration.\nclass_ : str | None\n    The class of the specific concentration.",
      "properties": {
        "specific_conc": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Specific Conc"
        },
        "subCategory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subcategory"
        },
        "category": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        },
        "hCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hcode"
        },
        "class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Class"
        }
      },
      "title": "SpecificConcentration",
      "type": "object"
    },
    "SubstanceName": {
      "description": "SubstanceName is a Pydantic model representing the name of a substance.\n\nAttributes\n----------\nname : str | None\n    The name of the substance.\nlanguage_code : str | None\n    The language code for the substance name.\ncloaked_name : str | None\n    The cloaked name of the substance, if applicable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "language_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Language Code"
        },
        "cloakedName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cloakedname"
        }
      },
      "title": "SubstanceName",
      "type": "object"
    },
    "ToxicityInfo": {
      "description": "ToxicityInfo is a Pydantic model representing toxicity information.\n\nAttributes\n----------\nresult : str | None\n    The result of the toxicity test.\nroe : str | None\n    The reference exposure level.\nunit : str | None\n    The unit of the toxicity test.\nmethod: str | None\n    The method of the toxicity test.\nvalue: float | None\n    The value of the toxicity test.\nspecies: str | None\n    The species of the toxicity test.\nsex: str | None\n    The sex of the toxicity test.\nexposure_time: str | None\n    The exposure time of the toxicity test.\ntype: str | None\n    The type of the toxicity test.\nvalue_type: str | None\n    The value type of the toxicity test.\ntemperature: str | None\n    The temperature of the toxicity test.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        },
        "sex": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sex"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "valueType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Valuetype"
        },
        "temperature": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Temperature"
        }
      },
      "title": "ToxicityInfo",
      "type": "object"
    }
  },
  "description": "SubstanceInfo is a Pydantic model representing information about a chemical substance.\n\nAttributes\n----------\nacute_dermal_tox_info : list[ToxicityInfo] | None\n    Information about acute dermal toxicity.\nacute_inhalation_tox_info : list[ToxicityInfo] | None\n    Information about acute inhalation toxicity.\nacute_oral_tox_info : list[ToxicityInfo] | None\n    Information about acute oral toxicity.\nacute_tox_info : list[ToxicityInfo] | None\n    General acute toxicity information.\nbio_accumulative_info : list[BioAccumulativeInfo] | None\n    Information about bioaccumulation.\nboiling_point_info : list[BoilingPointInfo] | None\n    Information about boiling points.\ncas_id : str\n    The CAS ID of the substance.\nclassification : str | None\n    The classification of the substance.\nclassification_type : str\n    The type of classification.\ndegradability_info : list[DegradabilityInfo] | None\n    Information about degradability.\ndnel_info : list[DNELInfo] | None\n    Information about the Derived No Effect Level (DNEL).\nec_list_no : str\n    The EC list number.\nexposure_controls_acgih : list[ExposureControl] | None\n    ACGIH exposure controls.\nhazards : list[Hazard] | None\n    List of hazards associated with the substance.\niarc_carcinogen : str | None\n    IARC carcinogen classification.\nntp_carcinogen : str | None\n    NTP carcinogen classification.\nosha_carcinogen : bool | None\n    OSHA carcinogen classification.\nhealth_effects : str | None\n    Information about health effects.\nname : list[SubstanceName] | None\n    Names of the substance.\npage_number : int | None\n    Page number for reference.\naicis_notified : bool | None\n    Indicates if AICIS has been notified.\napproved_legal_entities : Any | None\n    Approved legal entities for the substance.\naspiration_tox_info : list[Any] | None\n    Information about aspiration toxicity.\nbasel_conv_list : bool | None\n    Indicates if the substance is on the Basel Convention list.\nbei_info : list[Any] | None\n    Information related to BEI.\ncaa_cfr40 : bool | None\n    Indicates compliance with CAA CFR 40.\ncaa_hpa : bool | None\n    Indicates compliance with CAA HPA.\ncanada_inventory_status : str | None\n    Status in the Canadian inventory.\ncarcinogen_info : list[Any] | None\n    Information about carcinogenicity.\nchemical_category : list[str] | None\n    Categories of the chemical.\ndermal_acute_toxicity : float | None\n    Acute dermal toxicity value.\ninhalation_acute_toxicity : float | None\n    Acute inhalation toxicity value.\noral_acute_toxicity : float | None\n    Acute oral toxicity value.\nlethal_dose_and_concentrations : list[LethalDoseConcentration] | None\n    Information about lethal doses and concentrations.\nm_factor : int | None\n    M factor for acute toxicity.\nm_factor_chronic : int | None\n    M factor for chronic toxicity.\nmolecular_weight : list[MolecularWeight] | None\n    Molecular weight information.\nrsl : RSL | None\n    Risk-based screening level.\nspecific_conc_eu : list[SpecificConcentration] | None\n    Specific concentration information for the EU.\nspecific_conc_source : str | None\n    Source of specific concentration information.\nsustainability_status_lbc : str | None\n    Sustainability status under LBC.\ntsca_8b : bool | None\n    Indicates compliance with TSCA 8(b).\ncdsa_list : bool | None\n    Indicates if the substance is on the CDSA list.\ncn_csdc_regulations : bool | None\n    Compliance with CN CSDC regulations.\ncn_pcod_list : bool | None\n    Indicates if the substance is on the CN PCOD list.\ncn_priority_list : bool | None\n    Indicates if the substance is on the CN priority list.\nec_notified : str | None\n    Notification status in the EC.\neu_annex_14_substances_list : bool | None\n    Indicates if the substance is on the EU Annex 14 list.\neu_annex_17_restrictions_list : bool | None\n    Indicates if the substance is on the EU Annex 17 restrictions list.\neu_annex_17_substances_list : bool | None\n    Indicates if the substance is on the EU Annex 17 substances list.\neu_candidate_list : bool | None\n    Indicates if the substance is on the EU candidate list.\neu_dang_chem_annex_1_part_1_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 1 list.\neu_dang_chem_annex_1_part_2_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 2 list.\neu_dang_chem_annex_1_part_3_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 3 list.\neu_dang_chem_annex_5_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 5 list.\neu_directive_ec_list : bool | None\n    Indicates if the substance is on the EU directive EC list.\neu_explosive_precursors_annex_1_list : bool | None\n    Indicates if the substance is on the EU explosive precursors Annex 1 list.\neu_explosive_precursors_annex_2_list : bool | None\n    Indicates if the substance is on the EU explosive precursors Annex 2 list.\neu_ozone_depletion_list : bool | None\n    Indicates if the substance is on the EU ozone depletion list.\neu_pollutant_annex_2_list : bool | None\n    Indicates if the substance is on the EU pollutant Annex 2 list.\neu_pop_list : bool | None\n    Indicates if the substance is on the EU POP list.\nexport_control_list_phrases : bool | None\n    Indicates if the substance is on the export control list.\ngreen_gas_list : bool | None\n    Indicates if the substance is on the green gas list.\niecsc_notified : bool | None\n    Indicates if the substance is IECSc notified.\nindex_no : str | None\n    Index number for the substance.\njpencs_notified : bool | None\n    Indicates if the substance is JPENCS notified.\njpishl_notified : bool | None\n    Indicates if the substance is JPISHL notified.\nkoecl_notified : bool | None\n    Indicates if the substance is KOECL notified.\nkyoto_protocol : bool | None\n    Indicates compliance with the Kyoto Protocol.\nmassachusetts_rtk : bool | None\n    Indicates if the substance is on the Massachusetts RTK list.\nmontreal_protocol : bool | None\n    Indicates compliance with the Montreal Protocol.\nnew_jersey_rtk : bool | None\n    Indicates if the substance is on the New Jersey RTK list.\nnew_york_rtk : bool | None\n    Indicates if the substance is on the New York RTK list.\nnzioc_notified : bool | None\n    Indicates if the substance is NZIOC notified.\npcr_regulated : bool | None\n    Indicates if the substance is PCR regulated.\npennsylvania_rtk : bool | None\n    Indicates if the substance is on the Pennsylvania RTK list.\nperoxide_function_groups : int | None\n    Number of peroxide function groups.\npiccs_notified : bool | None\n    Indicates if the substance is PICCS notified.\nrhode_island_rtk : bool | None\n    Indicates if the substance is on the Rhode Island RTK list.\nrotterdam_conv_list : bool | None\n    Indicates if the substance is on the Rotterdam Convention list.\nsdwa : bool | None\n    Indicates compliance with the SDWA.\nsource : str | None\n    Source of the substance information.\nspecific_concentration_limit : str | None\n    Specific concentration limit for the substance.\nstockholm_conv_list : bool | None\n    Indicates if the substance is on the Stockholm Convention list.\nstot_affected_organs : str | None\n    Organs affected by STOT.\nstot_route_of_exposure : str | None\n    Route of exposure for STOT.\ntcsi_notified : bool | None\n    Indicates if the substance is TCSI notified.\ntrade_secret : str | None\n    Information about trade secrets.\ntw_ghs_clas_list : bool | None\n    Indicates if the substance is on the TW GHS classification list.\ntw_handle_priority_chem : bool | None\n    Indicates if the substance is a priority chemical.\ntw_handle_toxic_chem : bool | None\n    Indicates if the substance is a toxic chemical.\ntw_ind_waste_standards : bool | None\n    Indicates compliance with TW industrial waste standards.\nvinic_notified : bool | None\n    Indicates if the substance is VINIC notified.\nexposure_controls_osha : list[ExposureControl] | None\n    OSHA exposure controls.\nexposure_controls_aiha : list[ExposureControl] | None\n    AIHA exposure controls.\nexposure_controls_niosh : list[ExposureControl] | None\n    NIOSH exposure controls.\nsnur : bool | dict | None\n    Significant new use rule information.\ntsca_12b_concentration_limit : float | None\n    TSCA 12(b) concentration limit.\ncercla_rq : float | None\n    CERCLA reportable quantity.\ncalifornia_prop_65 : list[str] | None\n    Information related to California Prop 65.\nsara_302 : bool | None\n    Indicates compliance with SARA 302.\nsara_313_concentration_limit : float | None\n    SARA 313 concentration limit.\ncfr_marine_pollutant : dict | None\n    Information about marine pollutants under CFR.\ncfr_reportable_quantity : dict | None\n    Information about reportable quantities under CFR.\nrohs_concentration : float | None\n    ROHS concentration limit.\nskin_corrosion_info : list[SkinCorrosionInfo] | None\n    Information about skin corrosion.\nserious_eye_damage_info : list[SeriousEyeDamageInfo] | None\n    Information about serious eye damage.\nrespiratory_skin_sens_info : list[RespiratorySkinSensInfo] | None\n    Information about respiratory skin sensitization.\nis_known : bool\n    Indicates if the substance is known (i.e. has known regulatory or hazard information in the database)\n    (note this is an alias for the isCas field which behaves in a non intuitive way in the API so we have opted to use is_known for usability instead)",
  "properties": {
    "type": {
      "const": "Substance",
      "default": "Substance",
      "title": "Type",
      "type": "string"
    },
    "acuteDermalToxInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ToxicityInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acutedermaltoxinfo"
    },
    "acuteInhalationToxInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ToxicityInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acuteinhalationtoxinfo"
    },
    "acuteOralToxInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ToxicityInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acuteoraltoxinfo"
    },
    "acuteToxInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ToxicityInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Acutetoxinfo"
    },
    "bioAccumulativeInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/BioAccumulativeInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Bioaccumulativeinfo"
    },
    "boilingpointInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/BoilingPointInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Boilingpointinfo"
    },
    "casID": {
      "title": "Casid",
      "type": "string"
    },
    "classification": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Classification"
    },
    "classificationType": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Classificationtype"
    },
    "degradabilityInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/DegradabilityInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Degradabilityinfo"
    },
    "dnelInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/DNELInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Dnelinfo"
    },
    "ecListNo": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eclistno"
    },
    "exposureControlsACGIH": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ExposureControl"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Exposurecontrolsacgih"
    },
    "hazards": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/Hazard"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Hazards"
    },
    "iarcCarcinogen": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Iarccarcinogen"
    },
    "ntpCarcinogen": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ntpcarcinogen"
    },
    "oshaCarcinogen": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Oshacarcinogen"
    },
    "healthEffects": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Healtheffects"
    },
    "name": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/SubstanceName"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "pageNumber": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pagenumber"
    },
    "aicisNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Aicisnotified"
    },
    "approvedLegalEntities": {
      "anyOf": [
        {},
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Approvedlegalentities"
    },
    "aspirationToxInfo": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Aspirationtoxinfo"
    },
    "baselConvList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Baselconvlist"
    },
    "beiInfo": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Beiinfo"
    },
    "caaCFR40": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Caacfr40"
    },
    "caaHPA": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Caahpa"
    },
    "canadaInventoryStatus": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Canadainventorystatus"
    },
    "carcinogenInfo": {
      "anyOf": [
        {
          "items": {},
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Carcinogeninfo"
    },
    "chemicalCategory": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Chemicalcategory"
    },
    "dermalAcuteToxicity": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Dermalacutetoxicity"
    },
    "inhalationAcuteToxicity": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inhalationacutetoxicity"
    },
    "oralAcuteToxicity": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Oralacutetoxicity"
    },
    "lethalDoseAndConcentrations": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/LethalDoseConcentration"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Lethaldoseandconcentrations"
    },
    "mFactor": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mfactor"
    },
    "mFactorChronic": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Mfactorchronic"
    },
    "molecularWeight": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/MolecularWeight"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Molecularweight"
    },
    "rsl": {
      "anyOf": [
        {
          "$ref": "#/$defs/RSL"
        },
        {
          "type": "null"
        }
      ],
      "default": null
    },
    "specificConcEU": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/SpecificConcentration"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Specificconceu"
    },
    "specificConcSource": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Specificconcsource"
    },
    "sustainabilityStatusLBC": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sustainabilitystatuslbc"
    },
    "tsca8B": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tsca8B"
    },
    "cdsaList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cdsalist"
    },
    "cnCSDCRegulations": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cncsdcregulations"
    },
    "cnPCODList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cnpcodlist"
    },
    "cnPriorityList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cnprioritylist"
    },
    "ecNotified": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Ecnotified"
    },
    "euAnnex14SubstancesList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Euannex14Substanceslist"
    },
    "euAnnex17RestrictionsList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Euannex17Restrictionslist"
    },
    "euAnnex17SubstancesList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Euannex17Substanceslist"
    },
    "euCandidateList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eucandidatelist"
    },
    "euDangChemAnnex1Part1List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eudangchemannex1Part1List"
    },
    "euDangChemAnnex1Part2List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eudangchemannex1Part2List"
    },
    "euDangChemAnnex1Part3List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eudangchemannex1Part3List"
    },
    "euDangChemAnnex5List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eudangchemannex5List"
    },
    "euDirectiveEcList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eudirectiveeclist"
    },
    "euExplosivePrecursorsAnnex1List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Euexplosiveprecursorsannex1List"
    },
    "euExplosivePrecursorsAnnex2List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Euexplosiveprecursorsannex2List"
    },
    "euOzoneDepletionList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Euozonedepletionlist"
    },
    "euPollutantAnnex2List": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eupollutantannex2List"
    },
    "euPopList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Eupoplist"
    },
    "exportControlListPhrases": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Exportcontrollistphrases"
    },
    "greenGasList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Greengaslist"
    },
    "iecscNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Iecscnotified"
    },
    "indexNo": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Indexno"
    },
    "jpencsNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Jpencsnotified"
    },
    "jpishlNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Jpishlnotified"
    },
    "koeclNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Koeclnotified"
    },
    "kyotoProtocol": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Kyotoprotocol"
    },
    "massachusettsRTK": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Massachusettsrtk"
    },
    "montrealProtocol": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Montrealprotocol"
    },
    "newJerseyRTK": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Newjerseyrtk"
    },
    "newYorkRTK": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Newyorkrtk"
    },
    "nziocNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Nziocnotified"
    },
    "pcrRegulated": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pcrregulated"
    },
    "pennsylvaniaRTK": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Pennsylvaniartk"
    },
    "peroxideFunctionGroups": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Peroxidefunctiongroups"
    },
    "piccsNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Piccsnotified"
    },
    "rhodeIslandRTK": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Rhodeislandrtk"
    },
    "rotterdamConvList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Rotterdamconvlist"
    },
    "sdwa": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sdwa"
    },
    "source": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Source"
    },
    "specificConcentrationLimit": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Specificconcentrationlimit"
    },
    "stockholmConvList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stockholmconvlist"
    },
    "stotAffectedOrgans": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stotaffectedorgans"
    },
    "stotRouteOfExposure": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Stotrouteofexposure"
    },
    "tcsiNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tcsinotified"
    },
    "tradeSecret": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tradesecret"
    },
    "twGHSClasList": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Twghsclaslist"
    },
    "twHandlePriorityChem": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Twhandleprioritychem"
    },
    "twHandleToxicChem": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Twhandletoxicchem"
    },
    "twIndWasteStandards": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Twindwastestandards"
    },
    "vinicNotified": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Vinicnotified"
    },
    "exposureControlsOSHA": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ExposureControl"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Exposurecontrolsosha"
    },
    "exposureControlsAIHA": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ExposureControl"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Exposurecontrolsaiha"
    },
    "exposureControlsNIOSH": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/ExposureControl"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Exposurecontrolsniosh"
    },
    "snur": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Snur"
    },
    "tsca12BConcentrationLimit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Tsca12Bconcentrationlimit"
    },
    "cerclaRQ": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cerclarq"
    },
    "californiaProp65": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Californiaprop65"
    },
    "sara302": {
      "anyOf": [
        {
          "type": "boolean"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sara302"
    },
    "sara313ConcentrationLimit": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Sara313Concentrationlimit"
    },
    "CFRmarinePollutant": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cfrmarinepollutant"
    },
    "CFRreportableQuantity": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Cfrreportablequantity"
    },
    "rohsConcentration": {
      "anyOf": [
        {
          "type": "number"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Rohsconcentration"
    },
    "skinCorrosionInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/SkinCorrosionInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Skincorrosioninfo"
    },
    "seriousEyeDamageInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/SeriousEyeDamageInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Seriouseyedamageinfo"
    },
    "respiratorySkinSensInfo": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/RespiratorySkinSensInfo"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Respiratoryskinsensinfo"
    },
    "isCas": {
      "default": true,
      "title": "Iscas",
      "type": "boolean"
    }
  },
  "required": [
    "casID"
  ],
  "title": "SubstanceInfo",
  "type": "object"
}

Fields:

acute_dermal_tox_info pydantic-field

acute_dermal_tox_info: list[ToxicityInfo] | None = None

acute_inhalation_tox_info pydantic-field

acute_inhalation_tox_info: list[ToxicityInfo] | None = None

acute_oral_tox_info pydantic-field

acute_oral_tox_info: list[ToxicityInfo] | None = None

acute_tox_info pydantic-field

acute_tox_info: list[ToxicityInfo] | None = None

aicis_notified pydantic-field

aicis_notified: bool | None = None
approved_legal_entities: Any | None = None

aspiration_tox_info pydantic-field

aspiration_tox_info: list[Any] | None = None

basel_conv_list pydantic-field

basel_conv_list: bool | None = None

bei_info pydantic-field

bei_info: list[Any] | None = None

bio_accumulative_info pydantic-field

bio_accumulative_info: list[BioAccumulativeInfo] | None = (
    None
)

boilingpoint_info pydantic-field

boilingpoint_info: list[BoilingPointInfo] | None = None

caa_cfr_40 pydantic-field

caa_cfr_40: bool | None = None

caa_hpa pydantic-field

caa_hpa: bool | None = None

california_prop_65 pydantic-field

california_prop_65: list[str] | None = None

canada_inventory_status pydantic-field

canada_inventory_status: str | None = None

carcinogen_info pydantic-field

carcinogen_info: list[Any] | None = None

cas_id pydantic-field

cas_id: str

cdsa_list pydantic-field

cdsa_list: bool | None = None

cercla_rq pydantic-field

cercla_rq: float | None = None

cfr_marine_pollutant pydantic-field

cfr_marine_pollutant: dict | None = None

cfr_reportable_quantity pydantic-field

cfr_reportable_quantity: dict | None = None

chemical_category pydantic-field

chemical_category: list[str] | None = None

classification pydantic-field

classification: str | None = None

classification_type pydantic-field

classification_type: str | None = None

cn_csd_c_regulations pydantic-field

cn_csd_c_regulations: bool | None = None

cn_pcod_list pydantic-field

cn_pcod_list: bool | None = None

cn_priority_list pydantic-field

cn_priority_list: bool | None = None

degradability_info pydantic-field

degradability_info: list[DegradabilityInfo] | None = None

dermal_acute_toxicity pydantic-field

dermal_acute_toxicity: float | None = None

dnel_info pydantic-field

dnel_info: list[DNELInfo] | None = None

ec_list_no pydantic-field

ec_list_no: str | None = None

ec_notified pydantic-field

ec_notified: str | None = None

eu_annex_14_substances_list pydantic-field

eu_annex_14_substances_list: bool | None = None

eu_annex_17_restrictions_list pydantic-field

eu_annex_17_restrictions_list: bool | None = None

eu_annex_17_substances_list pydantic-field

eu_annex_17_substances_list: bool | None = None

eu_candidate_list pydantic-field

eu_candidate_list: bool | None = None

eu_dang_chem_annex_1_part_1_list pydantic-field

eu_dang_chem_annex_1_part_1_list: bool | None = None

eu_dang_chem_annex_1_part_2_list pydantic-field

eu_dang_chem_annex_1_part_2_list: bool | None = None

eu_dang_chem_annex_1_part_3_list pydantic-field

eu_dang_chem_annex_1_part_3_list: bool | None = None

eu_dang_chem_annex_5_list pydantic-field

eu_dang_chem_annex_5_list: bool | None = None

eu_directive_ec_list pydantic-field

eu_directive_ec_list: bool | None = None

eu_explosive_precursors_annex_1_list pydantic-field

eu_explosive_precursors_annex_1_list: bool | None = None

eu_explosive_precursors_annex_2_list pydantic-field

eu_explosive_precursors_annex_2_list: bool | None = None

eu_ozone_depletion_list pydantic-field

eu_ozone_depletion_list: bool | None = None

eu_pollutant_annex_2_list pydantic-field

eu_pollutant_annex_2_list: bool | None = None

eu_pop_list pydantic-field

eu_pop_list: bool | None = None

export_control_list_phrases pydantic-field

export_control_list_phrases: bool | None = None

exposure_controls_acgih pydantic-field

exposure_controls_acgih: list[ExposureControl] | None = None

exposure_controls_aiha pydantic-field

exposure_controls_aiha: list[ExposureControl] | None = None

exposure_controls_niosh pydantic-field

exposure_controls_niosh: list[ExposureControl] | None = None

exposure_controls_osha pydantic-field

exposure_controls_osha: list[ExposureControl] | None = None

green_gas_list pydantic-field

green_gas_list: bool | None = None

hazards pydantic-field

hazards: list[Hazard] | None = None

health_effects pydantic-field

health_effects: str | None = None

iarc_carcinogen pydantic-field

iarc_carcinogen: str | None = None

iecsc_notified pydantic-field

iecsc_notified: bool | None = None

index_no pydantic-field

index_no: str | None = None

inhalation_acute_toxicity pydantic-field

inhalation_acute_toxicity: float | None = None

is_known pydantic-field

is_known: bool = True

jpencs_notified pydantic-field

jpencs_notified: bool | None = None

jpishl_notified pydantic-field

jpishl_notified: bool | None = None

koecl_notified pydantic-field

koecl_notified: bool | None = None

kyoto_protocol pydantic-field

kyoto_protocol: bool | None = None

lethal_dose_and_concentrations pydantic-field

lethal_dose_and_concentrations: (
    list[LethalDoseConcentration] | None
) = None

m_factor pydantic-field

m_factor: int | None = None

m_factor_chronic pydantic-field

m_factor_chronic: int | None = None

massachusetts_rtk pydantic-field

massachusetts_rtk: bool | None = None

molecular_weight pydantic-field

molecular_weight: list[MolecularWeight] | None = None

montreal_protocol pydantic-field

montreal_protocol: bool | None = None

name pydantic-field

name: list[SubstanceName] | None = None

new_jersey_rtk pydantic-field

new_jersey_rtk: bool | None = None

new_york_rtk pydantic-field

new_york_rtk: bool | None = None

ntp_carcinogen pydantic-field

ntp_carcinogen: str | None = None

nzioc_notified pydantic-field

nzioc_notified: bool | None = None

oral_acute_toxicity pydantic-field

oral_acute_toxicity: float | None = None

osha_carcinogen pydantic-field

osha_carcinogen: bool | None = None

page_number pydantic-field

page_number: int | None = None

pcr_regulated pydantic-field

pcr_regulated: bool | None = None

pennsylvania_rtk pydantic-field

pennsylvania_rtk: bool | None = None

peroxide_function_groups pydantic-field

peroxide_function_groups: int | None = None

piccs_notified pydantic-field

piccs_notified: bool | None = None

respiratory_skin_sens_info pydantic-field

respiratory_skin_sens_info: (
    list[RespiratorySkinSensInfo] | None
) = None

rhode_island_rtk pydantic-field

rhode_island_rtk: bool | None = None

rohs_concentration pydantic-field

rohs_concentration: float | None = None

rotterdam_conv_list pydantic-field

rotterdam_conv_list: bool | None = None

rsl pydantic-field

rsl: RSL | None = None

sara_302 pydantic-field

sara_302: bool | None = None

sara_313_concentration_limit pydantic-field

sara_313_concentration_limit: float | None = None

sdwa pydantic-field

sdwa: bool | None = None

serious_eye_damage_info pydantic-field

serious_eye_damage_info: (
    list[SeriousEyeDamageInfo] | None
) = None

skin_corrosion_info pydantic-field

skin_corrosion_info: list[SkinCorrosionInfo] | None = None

snur pydantic-field

snur: bool | dict | None = None

source pydantic-field

source: str | None = None

specific_conc_eu pydantic-field

specific_conc_eu: list[SpecificConcentration] | None = None

specific_conc_source pydantic-field

specific_conc_source: str | None = None

specific_concentration_limit pydantic-field

specific_concentration_limit: str | None = None

stockholm_conv_list pydantic-field

stockholm_conv_list: bool | None = None

stot_affected_organs pydantic-field

stot_affected_organs: str | None = None

stot_route_of_exposure pydantic-field

stot_route_of_exposure: str | None = None

sustainability_status_lbc pydantic-field

sustainability_status_lbc: str | None = None

tcsi_notified pydantic-field

tcsi_notified: bool | None = None

trade_secret pydantic-field

trade_secret: bool | None = None

tsca_12b_concentration_limit pydantic-field

tsca_12b_concentration_limit: float | None = None

tsca_8b pydantic-field

tsca_8b: bool | None = None

tw_ghs_clas_list pydantic-field

tw_ghs_clas_list: bool | None = None

tw_handle_priority_chem pydantic-field

tw_handle_priority_chem: bool | None = None

tw_handle_toxic_chem pydantic-field

tw_handle_toxic_chem: bool | None = None

tw_ind_waste_standards pydantic-field

tw_ind_waste_standards: bool | None = None

type pydantic-field

type: Literal['Substance'] = 'Substance'

vinic_notified pydantic-field

vinic_notified: bool | None = None

SubstanceResponse pydantic-model

Bases: BaseAlbertModel

SubstanceResponse is a Pydantic model representing the response containing substance information.

Attributes:

Name Type Description
substances list[Substance]

A list of substances.

substance_errors list[Any] | None

A list of errors related to substances, if any.

Show JSON schema:
{
  "$defs": {
    "BioAccumulativeInfo": {
      "description": "BioAccumulativeInfo is a Pydantic model representing bioaccumulative information.\n\nAttributes\n----------\nbcf_value : str | None\n    The bioaccumulative factor value.\ntemperature : str | None\n    The temperature of the bioaccumulative test.\nexposure_time : str | None\n    The exposure time of the bioaccumulative test.\nmethod : str | None\n    The method of the bioaccumulative test.\nspecies : str | None\n    The species of the bioaccumulative test.",
      "properties": {
        "bcfValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bcfvalue"
        },
        "temperature": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Temperature"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "BioAccumulativeInfo",
      "type": "object"
    },
    "BoilingPointInfo": {
      "description": "BoilingPointInfo is a Pydantic model representing boiling point information.\n\nAttributes\n----------\nsource : list[BoilingPointSource] | None\n    The source of the boiling point information.\nvalues : list[BoilingPointValue] | None\n    The values of the boiling point information.",
      "properties": {
        "source": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BoilingPointSource"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Source"
        },
        "values": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BoilingPointValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Values"
        }
      },
      "title": "BoilingPointInfo",
      "type": "object"
    },
    "BoilingPointSource": {
      "description": "BoilingPointSource is a Pydantic model representing a boiling point source.\n\nAttributes\n----------\nnote_code : str | None\n    The note code of the boiling point source.\nnote : str | None\n    The note of the boiling point source.\nnote_field : str | None\n    The note field of the boiling point source.",
      "properties": {
        "noteCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notecode"
        },
        "note": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Note"
        },
        "noteField": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Notefield"
        }
      },
      "title": "BoilingPointSource",
      "type": "object"
    },
    "BoilingPointValue": {
      "description": "BoilingPointValue is a Pydantic model representing a boiling point value.\n\nAttributes\n----------\nmin_value : str | None\n    The minimum boiling point value.\nmax_value : str | None\n    The maximum boiling point value.\nunit : str | None\n    The unit of the boiling point value.",
      "properties": {
        "minValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Minvalue"
        },
        "maxValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maxvalue"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "BoilingPointValue",
      "type": "object"
    },
    "DNELInfo": {
      "description": "DNELInfo is a Pydantic model representing the Derived No Effect Level (DNEL) information.\n\nAttributes\n----------\nroe : str | None\n    The reference exposure level.\nhealth_effect : str | None\n    The health effect associated with the exposure.\nexposure_time : str | None\n    The exposure time for the DNEL.\napplication_area : str | None\n    The area of application for the DNEL.\nvalue : str | None\n    The DNEL value.\nremarks : str | None\n    Any additional remarks regarding the DNEL.",
      "properties": {
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "healthEffect": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Healtheffect"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "applicationArea": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Applicationarea"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "remarks": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Remarks"
        }
      },
      "title": "DNELInfo",
      "type": "object"
    },
    "DegradabilityInfo": {
      "description": "DegradabilityInfo is a Pydantic model representing information about the degradability of a substance.\n\nAttributes\n----------\nresult : str | None\n    The result of the degradability test.\nunit : str | None\n    The unit of measurement for the degradability test.\nexposure_time : str | None\n    The exposure time of the degradability test.\nmethod : str | None\n    The method used for the degradability test.\ntest_type : str | None\n    The type of the degradability test.\ndegradability : str | None\n    The degradability classification.\nvalue : str | None\n    The value of the degradability test.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "testType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Testtype"
        },
        "degradability": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Degradability"
        },
        "value": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        }
      },
      "title": "DegradabilityInfo",
      "type": "object"
    },
    "ExposureControl": {
      "description": "ExposureControl is a Pydantic model representing exposure control measures.\n\nAttributes\n----------\ntype : str | None\n    The type of exposure control.\nvalue : float | None\n    The value associated with the exposure control.\nunit : str | None\n    The unit of measurement for the exposure control.",
      "properties": {
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "ExposureControl",
      "type": "object"
    },
    "Hazard": {
      "description": "Hazard is a Pydantic model representing hazard information.\n\nAttributes\n----------\nh_code : str | None\n    The hazard code.\ncategory : str | None\n    The category of the hazard.\nclass_ : str | None\n    The class of the hazard.\nsub_category : str | None\n    The sub-category of the hazard.",
      "properties": {
        "hCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hcode"
        },
        "category": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        },
        "class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Class"
        },
        "subCategory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subcategory"
        }
      },
      "title": "Hazard",
      "type": "object"
    },
    "LethalDoseConcentration": {
      "description": "LethalDoseConcentration is a Pydantic model representing lethal dose and concentration information.\n\nAttributes\n----------\nduration : str | None\n    The duration of the exposure.\nunit : str | None\n    The unit of measurement for the lethal dose.\ntype : str | None\n    The type of the lethal dose.\nspecies : str | None\n    The species tested.\nvalue : float | None\n    The lethal dose value.\nsex : str | None\n    The sex of the species tested.\nexposure_time : str | None\n    The exposure time for the lethal dose test.\nmethod : str | None\n    The method used for the lethal dose test.\ntest_atmosphere : str | None\n    The atmosphere in which the test was conducted.",
      "properties": {
        "duration": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Duration"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "sex": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sex"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "testAtmosphere": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Testatmosphere"
        }
      },
      "title": "LethalDoseConcentration",
      "type": "object"
    },
    "MolecularWeight": {
      "description": "MolecularWeight is a Pydantic model representing molecular weight information.\n\nAttributes\n----------\nvalues : list[MolecularWeightValue] | None\n    The list of molecular weight values.",
      "properties": {
        "values": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/MolecularWeightValue"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Values"
        }
      },
      "title": "MolecularWeight",
      "type": "object"
    },
    "MolecularWeightValue": {
      "description": "MolecularWeightValue is a Pydantic model representing a molecular weight value.\n\nAttributes\n----------\nmin_value : str | None\n    The minimum molecular weight value.\nmax_value : str | None\n    The maximum molecular weight value.\nunit : str | None\n    The unit of measurement for the molecular weight.",
      "properties": {
        "minValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Minvalue"
        },
        "maxValue": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Maxvalue"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "MolecularWeightValue",
      "type": "object"
    },
    "RSL": {
      "description": "RSL is a Pydantic model representing the regulatory substance list (RSL) information.\n\nAttributes\n----------\nsanitizer : RSLSanitizer | None\n    The sanitizer information associated with the RSL.",
      "properties": {
        "sanitizer": {
          "anyOf": [
            {
              "$ref": "#/$defs/RSLSanitizer"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        }
      },
      "title": "RSL",
      "type": "object"
    },
    "RSLSanitizer": {
      "description": "RSLSanitizer is a Pydantic model representing sanitizer information.\n\nAttributes\n----------\nvalue : float | None\n    The value of the sanitizer.\nunit : str | None\n    The unit of measurement for the sanitizer.",
      "properties": {
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        }
      },
      "title": "RSLSanitizer",
      "type": "object"
    },
    "RespiratorySkinSensInfo": {
      "description": "RespiratorySkinSensInfo is a Pydantic model representing respiratory and skin sensitization information.\n\nAttributes\n----------\nresult : str | None\n    The result of the respiratory skin sensitization test.\nroe : str | None\n    The reference exposure level.\nmethod : str | None\n    The method used for the respiratory skin sensitization test.\nspecies : str | None\n    The species tested for respiratory skin sensitization.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "RespiratorySkinSensInfo",
      "type": "object"
    },
    "SeriousEyeDamageInfo": {
      "description": "SeriousEyeDamageInfo is a Pydantic model representing serious eye damage information.\n\nAttributes\n----------\nresult : str | None\n    The result of the serious eye damage test.\nroe : str | None\n    The reference exposure level.\nunit : str | None\n    The unit of measurement for the serious eye damage test.\nmethod : str | None\n    The method used for the serious eye damage test.\nvalue : float | None\n    The value of the serious eye damage test.\nspecies : str | None\n    The species tested for serious eye damage.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "SeriousEyeDamageInfo",
      "type": "object"
    },
    "SkinCorrosionInfo": {
      "description": "SkinCorrosionInfo is a Pydantic model representing skin corrosion information.\n\nAttributes\n----------\nresult : str | None\n    The result of the skin corrosion test.\nroe : str | None\n    The reference exposure level.\nunit : str | None\n    The unit of measurement for the skin corrosion test.\nmethod : str | None\n    The method used for the skin corrosion test.\nvalue : float | None\n    The value of the skin corrosion test.\nspecies : str | None\n    The species tested for skin corrosion.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        }
      },
      "title": "SkinCorrosionInfo",
      "type": "object"
    },
    "SpecificConcentration": {
      "description": "SpecificConcentration is a Pydantic model representing specific concentration information.\n\nAttributes\n----------\nspecific_conc : str | None\n    The specific concentration value.\nsub_category : str | None\n    The sub-category of the specific concentration.\ncategory : int | None\n    The category of the specific concentration.\nh_code : str | None\n    The hazard code associated with the specific concentration.\nclass_ : str | None\n    The class of the specific concentration.",
      "properties": {
        "specific_conc": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Specific Conc"
        },
        "subCategory": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Subcategory"
        },
        "category": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Category"
        },
        "hCode": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hcode"
        },
        "class": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Class"
        }
      },
      "title": "SpecificConcentration",
      "type": "object"
    },
    "SubstanceInfo": {
      "description": "SubstanceInfo is a Pydantic model representing information about a chemical substance.\n\nAttributes\n----------\nacute_dermal_tox_info : list[ToxicityInfo] | None\n    Information about acute dermal toxicity.\nacute_inhalation_tox_info : list[ToxicityInfo] | None\n    Information about acute inhalation toxicity.\nacute_oral_tox_info : list[ToxicityInfo] | None\n    Information about acute oral toxicity.\nacute_tox_info : list[ToxicityInfo] | None\n    General acute toxicity information.\nbio_accumulative_info : list[BioAccumulativeInfo] | None\n    Information about bioaccumulation.\nboiling_point_info : list[BoilingPointInfo] | None\n    Information about boiling points.\ncas_id : str\n    The CAS ID of the substance.\nclassification : str | None\n    The classification of the substance.\nclassification_type : str\n    The type of classification.\ndegradability_info : list[DegradabilityInfo] | None\n    Information about degradability.\ndnel_info : list[DNELInfo] | None\n    Information about the Derived No Effect Level (DNEL).\nec_list_no : str\n    The EC list number.\nexposure_controls_acgih : list[ExposureControl] | None\n    ACGIH exposure controls.\nhazards : list[Hazard] | None\n    List of hazards associated with the substance.\niarc_carcinogen : str | None\n    IARC carcinogen classification.\nntp_carcinogen : str | None\n    NTP carcinogen classification.\nosha_carcinogen : bool | None\n    OSHA carcinogen classification.\nhealth_effects : str | None\n    Information about health effects.\nname : list[SubstanceName] | None\n    Names of the substance.\npage_number : int | None\n    Page number for reference.\naicis_notified : bool | None\n    Indicates if AICIS has been notified.\napproved_legal_entities : Any | None\n    Approved legal entities for the substance.\naspiration_tox_info : list[Any] | None\n    Information about aspiration toxicity.\nbasel_conv_list : bool | None\n    Indicates if the substance is on the Basel Convention list.\nbei_info : list[Any] | None\n    Information related to BEI.\ncaa_cfr40 : bool | None\n    Indicates compliance with CAA CFR 40.\ncaa_hpa : bool | None\n    Indicates compliance with CAA HPA.\ncanada_inventory_status : str | None\n    Status in the Canadian inventory.\ncarcinogen_info : list[Any] | None\n    Information about carcinogenicity.\nchemical_category : list[str] | None\n    Categories of the chemical.\ndermal_acute_toxicity : float | None\n    Acute dermal toxicity value.\ninhalation_acute_toxicity : float | None\n    Acute inhalation toxicity value.\noral_acute_toxicity : float | None\n    Acute oral toxicity value.\nlethal_dose_and_concentrations : list[LethalDoseConcentration] | None\n    Information about lethal doses and concentrations.\nm_factor : int | None\n    M factor for acute toxicity.\nm_factor_chronic : int | None\n    M factor for chronic toxicity.\nmolecular_weight : list[MolecularWeight] | None\n    Molecular weight information.\nrsl : RSL | None\n    Risk-based screening level.\nspecific_conc_eu : list[SpecificConcentration] | None\n    Specific concentration information for the EU.\nspecific_conc_source : str | None\n    Source of specific concentration information.\nsustainability_status_lbc : str | None\n    Sustainability status under LBC.\ntsca_8b : bool | None\n    Indicates compliance with TSCA 8(b).\ncdsa_list : bool | None\n    Indicates if the substance is on the CDSA list.\ncn_csdc_regulations : bool | None\n    Compliance with CN CSDC regulations.\ncn_pcod_list : bool | None\n    Indicates if the substance is on the CN PCOD list.\ncn_priority_list : bool | None\n    Indicates if the substance is on the CN priority list.\nec_notified : str | None\n    Notification status in the EC.\neu_annex_14_substances_list : bool | None\n    Indicates if the substance is on the EU Annex 14 list.\neu_annex_17_restrictions_list : bool | None\n    Indicates if the substance is on the EU Annex 17 restrictions list.\neu_annex_17_substances_list : bool | None\n    Indicates if the substance is on the EU Annex 17 substances list.\neu_candidate_list : bool | None\n    Indicates if the substance is on the EU candidate list.\neu_dang_chem_annex_1_part_1_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 1 list.\neu_dang_chem_annex_1_part_2_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 2 list.\neu_dang_chem_annex_1_part_3_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 1 Part 3 list.\neu_dang_chem_annex_5_list : bool | None\n    Indicates if the substance is on the EU dangerous chemicals Annex 5 list.\neu_directive_ec_list : bool | None\n    Indicates if the substance is on the EU directive EC list.\neu_explosive_precursors_annex_1_list : bool | None\n    Indicates if the substance is on the EU explosive precursors Annex 1 list.\neu_explosive_precursors_annex_2_list : bool | None\n    Indicates if the substance is on the EU explosive precursors Annex 2 list.\neu_ozone_depletion_list : bool | None\n    Indicates if the substance is on the EU ozone depletion list.\neu_pollutant_annex_2_list : bool | None\n    Indicates if the substance is on the EU pollutant Annex 2 list.\neu_pop_list : bool | None\n    Indicates if the substance is on the EU POP list.\nexport_control_list_phrases : bool | None\n    Indicates if the substance is on the export control list.\ngreen_gas_list : bool | None\n    Indicates if the substance is on the green gas list.\niecsc_notified : bool | None\n    Indicates if the substance is IECSc notified.\nindex_no : str | None\n    Index number for the substance.\njpencs_notified : bool | None\n    Indicates if the substance is JPENCS notified.\njpishl_notified : bool | None\n    Indicates if the substance is JPISHL notified.\nkoecl_notified : bool | None\n    Indicates if the substance is KOECL notified.\nkyoto_protocol : bool | None\n    Indicates compliance with the Kyoto Protocol.\nmassachusetts_rtk : bool | None\n    Indicates if the substance is on the Massachusetts RTK list.\nmontreal_protocol : bool | None\n    Indicates compliance with the Montreal Protocol.\nnew_jersey_rtk : bool | None\n    Indicates if the substance is on the New Jersey RTK list.\nnew_york_rtk : bool | None\n    Indicates if the substance is on the New York RTK list.\nnzioc_notified : bool | None\n    Indicates if the substance is NZIOC notified.\npcr_regulated : bool | None\n    Indicates if the substance is PCR regulated.\npennsylvania_rtk : bool | None\n    Indicates if the substance is on the Pennsylvania RTK list.\nperoxide_function_groups : int | None\n    Number of peroxide function groups.\npiccs_notified : bool | None\n    Indicates if the substance is PICCS notified.\nrhode_island_rtk : bool | None\n    Indicates if the substance is on the Rhode Island RTK list.\nrotterdam_conv_list : bool | None\n    Indicates if the substance is on the Rotterdam Convention list.\nsdwa : bool | None\n    Indicates compliance with the SDWA.\nsource : str | None\n    Source of the substance information.\nspecific_concentration_limit : str | None\n    Specific concentration limit for the substance.\nstockholm_conv_list : bool | None\n    Indicates if the substance is on the Stockholm Convention list.\nstot_affected_organs : str | None\n    Organs affected by STOT.\nstot_route_of_exposure : str | None\n    Route of exposure for STOT.\ntcsi_notified : bool | None\n    Indicates if the substance is TCSI notified.\ntrade_secret : str | None\n    Information about trade secrets.\ntw_ghs_clas_list : bool | None\n    Indicates if the substance is on the TW GHS classification list.\ntw_handle_priority_chem : bool | None\n    Indicates if the substance is a priority chemical.\ntw_handle_toxic_chem : bool | None\n    Indicates if the substance is a toxic chemical.\ntw_ind_waste_standards : bool | None\n    Indicates compliance with TW industrial waste standards.\nvinic_notified : bool | None\n    Indicates if the substance is VINIC notified.\nexposure_controls_osha : list[ExposureControl] | None\n    OSHA exposure controls.\nexposure_controls_aiha : list[ExposureControl] | None\n    AIHA exposure controls.\nexposure_controls_niosh : list[ExposureControl] | None\n    NIOSH exposure controls.\nsnur : bool | dict | None\n    Significant new use rule information.\ntsca_12b_concentration_limit : float | None\n    TSCA 12(b) concentration limit.\ncercla_rq : float | None\n    CERCLA reportable quantity.\ncalifornia_prop_65 : list[str] | None\n    Information related to California Prop 65.\nsara_302 : bool | None\n    Indicates compliance with SARA 302.\nsara_313_concentration_limit : float | None\n    SARA 313 concentration limit.\ncfr_marine_pollutant : dict | None\n    Information about marine pollutants under CFR.\ncfr_reportable_quantity : dict | None\n    Information about reportable quantities under CFR.\nrohs_concentration : float | None\n    ROHS concentration limit.\nskin_corrosion_info : list[SkinCorrosionInfo] | None\n    Information about skin corrosion.\nserious_eye_damage_info : list[SeriousEyeDamageInfo] | None\n    Information about serious eye damage.\nrespiratory_skin_sens_info : list[RespiratorySkinSensInfo] | None\n    Information about respiratory skin sensitization.\nis_known : bool\n    Indicates if the substance is known (i.e. has known regulatory or hazard information in the database)\n    (note this is an alias for the isCas field which behaves in a non intuitive way in the API so we have opted to use is_known for usability instead)",
      "properties": {
        "type": {
          "const": "Substance",
          "default": "Substance",
          "title": "Type",
          "type": "string"
        },
        "acuteDermalToxInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ToxicityInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Acutedermaltoxinfo"
        },
        "acuteInhalationToxInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ToxicityInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Acuteinhalationtoxinfo"
        },
        "acuteOralToxInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ToxicityInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Acuteoraltoxinfo"
        },
        "acuteToxInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ToxicityInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Acutetoxinfo"
        },
        "bioAccumulativeInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BioAccumulativeInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Bioaccumulativeinfo"
        },
        "boilingpointInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/BoilingPointInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Boilingpointinfo"
        },
        "casID": {
          "title": "Casid",
          "type": "string"
        },
        "classification": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Classification"
        },
        "classificationType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Classificationtype"
        },
        "degradabilityInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DegradabilityInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Degradabilityinfo"
        },
        "dnelInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/DNELInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Dnelinfo"
        },
        "ecListNo": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eclistno"
        },
        "exposureControlsACGIH": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExposureControl"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposurecontrolsacgih"
        },
        "hazards": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/Hazard"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Hazards"
        },
        "iarcCarcinogen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Iarccarcinogen"
        },
        "ntpCarcinogen": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ntpcarcinogen"
        },
        "oshaCarcinogen": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Oshacarcinogen"
        },
        "healthEffects": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Healtheffects"
        },
        "name": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/SubstanceName"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "pageNumber": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pagenumber"
        },
        "aicisNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Aicisnotified"
        },
        "approvedLegalEntities": {
          "anyOf": [
            {},
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Approvedlegalentities"
        },
        "aspirationToxInfo": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Aspirationtoxinfo"
        },
        "baselConvList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Baselconvlist"
        },
        "beiInfo": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Beiinfo"
        },
        "caaCFR40": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Caacfr40"
        },
        "caaHPA": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Caahpa"
        },
        "canadaInventoryStatus": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Canadainventorystatus"
        },
        "carcinogenInfo": {
          "anyOf": [
            {
              "items": {},
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Carcinogeninfo"
        },
        "chemicalCategory": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Chemicalcategory"
        },
        "dermalAcuteToxicity": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Dermalacutetoxicity"
        },
        "inhalationAcuteToxicity": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Inhalationacutetoxicity"
        },
        "oralAcuteToxicity": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Oralacutetoxicity"
        },
        "lethalDoseAndConcentrations": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/LethalDoseConcentration"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Lethaldoseandconcentrations"
        },
        "mFactor": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mfactor"
        },
        "mFactorChronic": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Mfactorchronic"
        },
        "molecularWeight": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/MolecularWeight"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Molecularweight"
        },
        "rsl": {
          "anyOf": [
            {
              "$ref": "#/$defs/RSL"
            },
            {
              "type": "null"
            }
          ],
          "default": null
        },
        "specificConcEU": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/SpecificConcentration"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Specificconceu"
        },
        "specificConcSource": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Specificconcsource"
        },
        "sustainabilityStatusLBC": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sustainabilitystatuslbc"
        },
        "tsca8B": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tsca8B"
        },
        "cdsaList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cdsalist"
        },
        "cnCSDCRegulations": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cncsdcregulations"
        },
        "cnPCODList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cnpcodlist"
        },
        "cnPriorityList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cnprioritylist"
        },
        "ecNotified": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Ecnotified"
        },
        "euAnnex14SubstancesList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Euannex14Substanceslist"
        },
        "euAnnex17RestrictionsList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Euannex17Restrictionslist"
        },
        "euAnnex17SubstancesList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Euannex17Substanceslist"
        },
        "euCandidateList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eucandidatelist"
        },
        "euDangChemAnnex1Part1List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eudangchemannex1Part1List"
        },
        "euDangChemAnnex1Part2List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eudangchemannex1Part2List"
        },
        "euDangChemAnnex1Part3List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eudangchemannex1Part3List"
        },
        "euDangChemAnnex5List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eudangchemannex5List"
        },
        "euDirectiveEcList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eudirectiveeclist"
        },
        "euExplosivePrecursorsAnnex1List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Euexplosiveprecursorsannex1List"
        },
        "euExplosivePrecursorsAnnex2List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Euexplosiveprecursorsannex2List"
        },
        "euOzoneDepletionList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Euozonedepletionlist"
        },
        "euPollutantAnnex2List": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eupollutantannex2List"
        },
        "euPopList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Eupoplist"
        },
        "exportControlListPhrases": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exportcontrollistphrases"
        },
        "greenGasList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Greengaslist"
        },
        "iecscNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Iecscnotified"
        },
        "indexNo": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Indexno"
        },
        "jpencsNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Jpencsnotified"
        },
        "jpishlNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Jpishlnotified"
        },
        "koeclNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Koeclnotified"
        },
        "kyotoProtocol": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Kyotoprotocol"
        },
        "massachusettsRTK": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Massachusettsrtk"
        },
        "montrealProtocol": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Montrealprotocol"
        },
        "newJerseyRTK": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Newjerseyrtk"
        },
        "newYorkRTK": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Newyorkrtk"
        },
        "nziocNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Nziocnotified"
        },
        "pcrRegulated": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pcrregulated"
        },
        "pennsylvaniaRTK": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Pennsylvaniartk"
        },
        "peroxideFunctionGroups": {
          "anyOf": [
            {
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Peroxidefunctiongroups"
        },
        "piccsNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Piccsnotified"
        },
        "rhodeIslandRTK": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rhodeislandrtk"
        },
        "rotterdamConvList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rotterdamconvlist"
        },
        "sdwa": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sdwa"
        },
        "source": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Source"
        },
        "specificConcentrationLimit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Specificconcentrationlimit"
        },
        "stockholmConvList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Stockholmconvlist"
        },
        "stotAffectedOrgans": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Stotaffectedorgans"
        },
        "stotRouteOfExposure": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Stotrouteofexposure"
        },
        "tcsiNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tcsinotified"
        },
        "tradeSecret": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tradesecret"
        },
        "twGHSClasList": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Twghsclaslist"
        },
        "twHandlePriorityChem": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Twhandleprioritychem"
        },
        "twHandleToxicChem": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Twhandletoxicchem"
        },
        "twIndWasteStandards": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Twindwastestandards"
        },
        "vinicNotified": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Vinicnotified"
        },
        "exposureControlsOSHA": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExposureControl"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposurecontrolsosha"
        },
        "exposureControlsAIHA": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExposureControl"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposurecontrolsaiha"
        },
        "exposureControlsNIOSH": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ExposureControl"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposurecontrolsniosh"
        },
        "snur": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Snur"
        },
        "tsca12BConcentrationLimit": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Tsca12Bconcentrationlimit"
        },
        "cerclaRQ": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cerclarq"
        },
        "californiaProp65": {
          "anyOf": [
            {
              "items": {
                "type": "string"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Californiaprop65"
        },
        "sara302": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sara302"
        },
        "sara313ConcentrationLimit": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sara313Concentrationlimit"
        },
        "CFRmarinePollutant": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cfrmarinepollutant"
        },
        "CFRreportableQuantity": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cfrreportablequantity"
        },
        "rohsConcentration": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Rohsconcentration"
        },
        "skinCorrosionInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/SkinCorrosionInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Skincorrosioninfo"
        },
        "seriousEyeDamageInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/SeriousEyeDamageInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Seriouseyedamageinfo"
        },
        "respiratorySkinSensInfo": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/RespiratorySkinSensInfo"
              },
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Respiratoryskinsensinfo"
        },
        "isCas": {
          "default": true,
          "title": "Iscas",
          "type": "boolean"
        }
      },
      "required": [
        "casID"
      ],
      "title": "SubstanceInfo",
      "type": "object"
    },
    "SubstanceName": {
      "description": "SubstanceName is a Pydantic model representing the name of a substance.\n\nAttributes\n----------\nname : str | None\n    The name of the substance.\nlanguage_code : str | None\n    The language code for the substance name.\ncloaked_name : str | None\n    The cloaked name of the substance, if applicable.",
      "properties": {
        "name": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Name"
        },
        "language_code": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Language Code"
        },
        "cloakedName": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Cloakedname"
        }
      },
      "title": "SubstanceName",
      "type": "object"
    },
    "ToxicityInfo": {
      "description": "ToxicityInfo is a Pydantic model representing toxicity information.\n\nAttributes\n----------\nresult : str | None\n    The result of the toxicity test.\nroe : str | None\n    The reference exposure level.\nunit : str | None\n    The unit of the toxicity test.\nmethod: str | None\n    The method of the toxicity test.\nvalue: float | None\n    The value of the toxicity test.\nspecies: str | None\n    The species of the toxicity test.\nsex: str | None\n    The sex of the toxicity test.\nexposure_time: str | None\n    The exposure time of the toxicity test.\ntype: str | None\n    The type of the toxicity test.\nvalue_type: str | None\n    The value type of the toxicity test.\ntemperature: str | None\n    The temperature of the toxicity test.",
      "properties": {
        "result": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Result"
        },
        "roe": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Roe"
        },
        "unit": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Unit"
        },
        "method": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Method"
        },
        "value": {
          "anyOf": [
            {
              "type": "number"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Value"
        },
        "species": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Species"
        },
        "sex": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Sex"
        },
        "exposureTime": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Exposuretime"
        },
        "type": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Type"
        },
        "valueType": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Valuetype"
        },
        "temperature": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "default": null,
          "title": "Temperature"
        }
      },
      "title": "ToxicityInfo",
      "type": "object"
    }
  },
  "description": "SubstanceResponse is a Pydantic model representing the response containing substance information.\n\nAttributes\n----------\nsubstances : list[Substance]\n    A list of substances.\nsubstance_errors : list[Any] | None\n    A list of errors related to substances, if any.",
  "properties": {
    "substances": {
      "items": {
        "$ref": "#/$defs/SubstanceInfo"
      },
      "title": "Substances",
      "type": "array"
    },
    "substanceErrors": {
      "anyOf": [
        {
          "items": {
            "additionalProperties": true,
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Substanceerrors"
    }
  },
  "required": [
    "substances"
  ],
  "title": "SubstanceResponse",
  "type": "object"
}

Fields:

substance_errors pydantic-field

substance_errors: list[dict[str, Any]] | None = None

substances pydantic-field

substances: list[SubstanceInfo]