Skip to content

Substances

albert.collections.substance

AlbertSession

AlbertSession(
    *,
    base_url: str,
    token: str | None = None,
    client_credentials: ClientCredentials | 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 requests. (e.g., "https://sandbox.albertinvent.com")

required
retries int

The number of retries for failed requests. Defaults to 3.

None
client_credentials ClientCredentials | None

The client credentials for programmatic authentication. Optional if token is provided.

None
token str | None

The JWT token for authentication. Optional if client credentials are provided.

None

Methods:

Name Description
request
Source code in src/albert/session.py
def __init__(
    self,
    *,
    base_url: str,
    token: str | None = None,
    client_credentials: ClientCredentials | 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 client_credentials is None:
        raise ValueError("Either client credentials or token must be specified.")

    self._provided_token = token
    self._token_manager = (
        TokenManager(base_url, client_credentials) if client_credentials is not None else None
    )

    # 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/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

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)

acute_dermal_tox_info class-attribute instance-attribute

acute_dermal_tox_info: list[ToxicityInfo] | None = Field(
    None, alias="acuteDermalToxInfo"
)

acute_inhalation_tox_info class-attribute instance-attribute

acute_inhalation_tox_info: list[ToxicityInfo] | None = (
    Field(None, alias="acuteInhalationToxInfo")
)

acute_oral_tox_info class-attribute instance-attribute

acute_oral_tox_info: list[ToxicityInfo] | None = Field(
    None, alias="acuteOralToxInfo"
)

acute_tox_info class-attribute instance-attribute

acute_tox_info: list[ToxicityInfo] | None = Field(
    None, alias="acuteToxInfo"
)

aicis_notified class-attribute instance-attribute

aicis_notified: bool | None = Field(
    None, alias="aicisNotified"
)
approved_legal_entities: Any | None = Field(
    None, alias="approvedLegalEntities"
)

aspiration_tox_info class-attribute instance-attribute

aspiration_tox_info: list[Any] | None = Field(
    None, alias="aspirationToxInfo"
)

basel_conv_list class-attribute instance-attribute

basel_conv_list: bool | None = Field(
    None, alias="baselConvList"
)

bei_info class-attribute instance-attribute

bei_info: list[Any] | None = Field(None, alias='beiInfo')

bio_accumulative_info class-attribute instance-attribute

bio_accumulative_info: list[BioAccumulativeInfo] | None = (
    Field(None, alias="bioAccumulativeInfo")
)

boilingpoint_info class-attribute instance-attribute

boilingpoint_info: list[BoilingPointInfo] | None = Field(
    None, alias="boilingpointInfo"
)

caa_cfr_40 class-attribute instance-attribute

caa_cfr_40: bool | None = Field(None, alias='caaCFR40')

caa_hpa class-attribute instance-attribute

caa_hpa: bool | None = Field(None, alias='caaHPA')

california_prop_65 class-attribute instance-attribute

california_prop_65: list[str] | None = Field(
    None, alias="californiaProp65"
)

canada_inventory_status class-attribute instance-attribute

canada_inventory_status: str | None = Field(
    None, alias="canadaInventoryStatus"
)

carcinogen_info class-attribute instance-attribute

carcinogen_info: list[Any] | None = Field(
    None, alias="carcinogenInfo"
)

cas_id class-attribute instance-attribute

cas_id: str = Field(..., alias='casID')

cdsa_list class-attribute instance-attribute

cdsa_list: bool | None = Field(None, alias='cdsaList')

cercla_rq class-attribute instance-attribute

cercla_rq: float | None = Field(None, alias='cerclaRQ')

cfr_marine_pollutant class-attribute instance-attribute

cfr_marine_pollutant: dict | None = Field(
    None, alias="CFRmarinePollutant"
)

cfr_reportable_quantity class-attribute instance-attribute

cfr_reportable_quantity: dict | None = Field(
    None, alias="CFRreportableQuantity"
)

chemical_category class-attribute instance-attribute

chemical_category: list[str] | None = Field(
    None, alias="chemicalCategory"
)

classification class-attribute instance-attribute

classification: str | None = None

classification_type class-attribute instance-attribute

classification_type: str | None = Field(
    default=None, alias="classificationType"
)

cn_csd_c_regulations class-attribute instance-attribute

cn_csd_c_regulations: bool | None = Field(
    None, alias="cnCSDCRegulations"
)

cn_pcod_list class-attribute instance-attribute

cn_pcod_list: bool | None = Field(None, alias='cnPCODList')

cn_priority_list class-attribute instance-attribute

cn_priority_list: bool | None = Field(
    None, alias="cnPriorityList"
)

degradability_info class-attribute instance-attribute

degradability_info: list[DegradabilityInfo] | None = Field(
    None, alias="degradabilityInfo"
)

dermal_acute_toxicity class-attribute instance-attribute

dermal_acute_toxicity: float | None = Field(
    None, alias="dermalAcuteToxicity"
)

dnel_info class-attribute instance-attribute

dnel_info: list[DNELInfo] | None = Field(
    None, alias="dnelInfo"
)

ec_list_no class-attribute instance-attribute

ec_list_no: str | None = Field(
    default=None, alias="ecListNo"
)

ec_notified class-attribute instance-attribute

ec_notified: str | None = Field(None, alias='ecNotified')

eu_annex_14_substances_list class-attribute instance-attribute

eu_annex_14_substances_list: bool | None = Field(
    None, alias="euAnnex14SubstancesList"
)

eu_annex_17_restrictions_list class-attribute instance-attribute

eu_annex_17_restrictions_list: bool | None = Field(
    None, alias="euAnnex17RestrictionsList"
)

eu_annex_17_substances_list class-attribute instance-attribute

eu_annex_17_substances_list: bool | None = Field(
    None, alias="euAnnex17SubstancesList"
)

eu_candidate_list class-attribute instance-attribute

eu_candidate_list: bool | None = Field(
    None, alias="euCandidateList"
)

eu_dang_chem_annex_1_part_1_list class-attribute instance-attribute

eu_dang_chem_annex_1_part_1_list: bool | None = Field(
    None, alias="euDangChemAnnex1Part1List"
)

eu_dang_chem_annex_1_part_2_list class-attribute instance-attribute

eu_dang_chem_annex_1_part_2_list: bool | None = Field(
    None, alias="euDangChemAnnex1Part2List"
)

eu_dang_chem_annex_1_part_3_list class-attribute instance-attribute

eu_dang_chem_annex_1_part_3_list: bool | None = Field(
    None, alias="euDangChemAnnex1Part3List"
)

eu_dang_chem_annex_5_list class-attribute instance-attribute

eu_dang_chem_annex_5_list: bool | None = Field(
    None, alias="euDangChemAnnex5List"
)

eu_directive_ec_list class-attribute instance-attribute

eu_directive_ec_list: bool | None = Field(
    None, alias="euDirectiveEcList"
)

eu_explosive_precursors_annex_1_list class-attribute instance-attribute

eu_explosive_precursors_annex_1_list: bool | None = Field(
    None, alias="euExplosivePrecursorsAnnex1List"
)

eu_explosive_precursors_annex_2_list class-attribute instance-attribute

eu_explosive_precursors_annex_2_list: bool | None = Field(
    None, alias="euExplosivePrecursorsAnnex2List"
)

eu_ozone_depletion_list class-attribute instance-attribute

eu_ozone_depletion_list: bool | None = Field(
    None, alias="euOzoneDepletionList"
)

eu_pollutant_annex_2_list class-attribute instance-attribute

eu_pollutant_annex_2_list: bool | None = Field(
    None, alias="euPollutantAnnex2List"
)

eu_pop_list class-attribute instance-attribute

eu_pop_list: bool | None = Field(None, alias='euPopList')

export_control_list_phrases class-attribute instance-attribute

export_control_list_phrases: bool | None = Field(
    None, alias="exportControlListPhrases"
)

exposure_controls_acgih class-attribute instance-attribute

exposure_controls_acgih: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsACGIH")
)

exposure_controls_aiha class-attribute instance-attribute

exposure_controls_aiha: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsAIHA")
)

exposure_controls_niosh class-attribute instance-attribute

exposure_controls_niosh: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsNIOSH")
)

exposure_controls_osha class-attribute instance-attribute

exposure_controls_osha: list[ExposureControl] | None = (
    Field(None, alias="exposureControlsOSHA")
)

green_gas_list class-attribute instance-attribute

green_gas_list: bool | None = Field(
    None, alias="greenGasList"
)

hazards class-attribute instance-attribute

hazards: list[Hazard] | None = None

health_effects class-attribute instance-attribute

health_effects: str | None = Field(
    None, alias="healthEffects"
)

iarc_carcinogen class-attribute instance-attribute

iarc_carcinogen: str | None = Field(
    None, alias="iarcCarcinogen"
)

iecsc_notified class-attribute instance-attribute

iecsc_notified: bool | None = Field(
    None, alias="iecscNotified"
)

index_no class-attribute instance-attribute

index_no: str | None = Field(None, alias='indexNo')

inhalation_acute_toxicity class-attribute instance-attribute

inhalation_acute_toxicity: float | None = Field(
    None, alias="inhalationAcuteToxicity"
)

is_known class-attribute instance-attribute

is_known: bool = Field(default=True, alias='isCas')

jpencs_notified class-attribute instance-attribute

jpencs_notified: bool | None = Field(
    None, alias="jpencsNotified"
)

jpishl_notified class-attribute instance-attribute

jpishl_notified: bool | None = Field(
    None, alias="jpishlNotified"
)

koecl_notified class-attribute instance-attribute

koecl_notified: bool | None = Field(
    None, alias="koeclNotified"
)

kyoto_protocol class-attribute instance-attribute

kyoto_protocol: bool | None = Field(
    None, alias="kyotoProtocol"
)

lethal_dose_and_concentrations class-attribute instance-attribute

lethal_dose_and_concentrations: (
    list[LethalDoseConcentration] | None
) = Field(None, alias="lethalDoseAndConcentrations")

m_factor class-attribute instance-attribute

m_factor: int | None = Field(None, alias='mFactor')

m_factor_chronic class-attribute instance-attribute

m_factor_chronic: int | None = Field(
    None, alias="mFactorChronic"
)

massachusetts_rtk class-attribute instance-attribute

massachusetts_rtk: bool | None = Field(
    None, alias="massachusettsRTK"
)

molecular_weight class-attribute instance-attribute

molecular_weight: list[MolecularWeight] | None = Field(
    None, alias="molecularWeight"
)

montreal_protocol class-attribute instance-attribute

montreal_protocol: bool | None = Field(
    None, alias="montrealProtocol"
)

name class-attribute instance-attribute

name: list[SubstanceName] | None = None

new_jersey_rtk class-attribute instance-attribute

new_jersey_rtk: bool | None = Field(
    None, alias="newJerseyRTK"
)

new_york_rtk class-attribute instance-attribute

new_york_rtk: bool | None = Field(None, alias='newYorkRTK')

ntp_carcinogen class-attribute instance-attribute

ntp_carcinogen: str | None = Field(
    None, alias="ntpCarcinogen"
)

nzioc_notified class-attribute instance-attribute

nzioc_notified: bool | None = Field(
    None, alias="nziocNotified"
)

oral_acute_toxicity class-attribute instance-attribute

oral_acute_toxicity: float | None = Field(
    None, alias="oralAcuteToxicity"
)

osha_carcinogen class-attribute instance-attribute

osha_carcinogen: bool | None = Field(
    None, alias="oshaCarcinogen"
)

page_number class-attribute instance-attribute

page_number: int | None = Field(None, alias='pageNumber')

pcr_regulated class-attribute instance-attribute

pcr_regulated: bool | None = Field(
    None, alias="pcrRegulated"
)

pennsylvania_rtk class-attribute instance-attribute

pennsylvania_rtk: bool | None = Field(
    None, alias="pennsylvaniaRTK"
)

peroxide_function_groups class-attribute instance-attribute

peroxide_function_groups: int | None = Field(
    None, alias="peroxideFunctionGroups"
)

piccs_notified class-attribute instance-attribute

piccs_notified: bool | None = Field(
    None, alias="piccsNotified"
)

respiratory_skin_sens_info class-attribute instance-attribute

respiratory_skin_sens_info: (
    list[RespiratorySkinSensInfo] | None
) = Field(None, alias="respiratorySkinSensInfo")

rhode_island_rtk class-attribute instance-attribute

rhode_island_rtk: bool | None = Field(
    None, alias="rhodeIslandRTK"
)

rohs_concentration class-attribute instance-attribute

rohs_concentration: float | None = Field(
    None, alias="rohsConcentration"
)

rotterdam_conv_list class-attribute instance-attribute

rotterdam_conv_list: bool | None = Field(
    None, alias="rotterdamConvList"
)

rsl class-attribute instance-attribute

rsl: RSL | None = Field(None, alias='rsl')

sara_302 class-attribute instance-attribute

sara_302: bool | None = Field(None, alias='sara302')

sara_313_concentration_limit class-attribute instance-attribute

sara_313_concentration_limit: float | None = Field(
    None, alias="sara313ConcentrationLimit"
)

sdwa class-attribute instance-attribute

sdwa: bool | None = Field(None, alias='sdwa')

serious_eye_damage_info class-attribute instance-attribute

serious_eye_damage_info: (
    list[SeriousEyeDamageInfo] | None
) = Field(None, alias="seriousEyeDamageInfo")

skin_corrosion_info class-attribute instance-attribute

skin_corrosion_info: list[SkinCorrosionInfo] | None = Field(
    None, alias="skinCorrosionInfo"
)

snur class-attribute instance-attribute

snur: bool | dict | None = None

source class-attribute instance-attribute

source: str | None = Field(None, alias='source')

specific_conc_eu class-attribute instance-attribute

specific_conc_eu: list[SpecificConcentration] | None = (
    Field(None, alias="specificConcEU")
)

specific_conc_source class-attribute instance-attribute

specific_conc_source: str | None = Field(
    None, alias="specificConcSource"
)

specific_concentration_limit class-attribute instance-attribute

specific_concentration_limit: str | None = Field(
    None, alias="specificConcentrationLimit"
)

stockholm_conv_list class-attribute instance-attribute

stockholm_conv_list: bool | None = Field(
    None, alias="stockholmConvList"
)

stot_affected_organs class-attribute instance-attribute

stot_affected_organs: str | None = Field(
    None, alias="stotAffectedOrgans"
)

stot_route_of_exposure class-attribute instance-attribute

stot_route_of_exposure: str | None = Field(
    None, alias="stotRouteOfExposure"
)

sustainability_status_lbc class-attribute instance-attribute

sustainability_status_lbc: str | None = Field(
    None, alias="sustainabilityStatusLBC"
)

tcsi_notified class-attribute instance-attribute

tcsi_notified: bool | None = Field(
    None, alias="tcsiNotified"
)

trade_secret class-attribute instance-attribute

trade_secret: bool | None = Field(None, alias="tradeSecret")

tsca_12b_concentration_limit class-attribute instance-attribute

tsca_12b_concentration_limit: float | None = Field(
    None, alias="tsca12BConcentrationLimit"
)

tsca_8b class-attribute instance-attribute

tsca_8b: bool | None = Field(None, alias='tsca8B')

tw_ghs_clas_list class-attribute instance-attribute

tw_ghs_clas_list: bool | None = Field(
    None, alias="twGHSClasList"
)

tw_handle_priority_chem class-attribute instance-attribute

tw_handle_priority_chem: bool | None = Field(
    None, alias="twHandlePriorityChem"
)

tw_handle_toxic_chem class-attribute instance-attribute

tw_handle_toxic_chem: bool | None = Field(
    None, alias="twHandleToxicChem"
)

tw_ind_waste_standards class-attribute instance-attribute

tw_ind_waste_standards: bool | None = Field(
    None, alias="twIndWasteStandards"
)

type class-attribute instance-attribute

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

vinic_notified class-attribute instance-attribute

vinic_notified: bool | None = Field(
    None, alias="vinicNotified"
)

SubstanceResponse

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.

substance_errors class-attribute instance-attribute

substance_errors: list[dict[str, Any]] | None = Field(
    None, alias="substanceErrors"
)

substances instance-attribute

substances: list[SubstanceInfo]